您的位置:首页 > Web前端 > JQuery

jQuery获取Select选择的Text和Value:

2014-04-03 15:45 621 查看
jQuery获取Select选择的Text和Value:
      1. var checkText=jQuery("#select_id").find("option:selected").text();   //获取Select选择的Text
      2. var checkValue=jQuery("#select_id").val();   //获取Select选择的option Value
      3. var checkIndex=jQuery("#select_id ").get(0).selectedIndex;   //获取Select选择的索引值
      4. var maxIndex=jQuery("#select_id option:last").attr("index");   //获取Select最大的索引值
jQuery添加/删除Select的Option项:
      1. jQuery("#select_id").append("<option value='Value'>Text</option>");   //为Select追加一个Option(下拉项)
      2. jQuery("#select_id").prepend("<option value='0'>请选择</option>");   //为Select插入一个Option(第一个位置)
      3. jQuery("#select_id option:last").remove();   //删除Select中索引值最大Option(最后一个)
      4. jQuery("#select_id option[index='0']").remove();   //删除Select中索引值为0的Option(第一个)
      5. jQuery("#select_id option[value='3']").remove();   //删除Select中Value='3'的Option
      6. jQuery("#select_id option[text='4']").remove();   //删除Select中Text='4'的Option
内容清空:
      jQuery("#select_id").empty();
      $("#parentId").val(-1);赋值

.html()用为读取和修改元素的HTML标签

.text()用来读取或修改元素的纯文本内容

.val()用来读取或修改表单元素的value值。

这三个方法功能上的对比

.html(),.text(),.val()三种方法都是用来读取选定元素的内容;只不过.html()是用来读取元素的HTML内容(包括其Html标签),.text()用来读取元素的纯文本内容,包括其后代元素,.val()是用来读取表单元素的"value"值。其中.和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;另外.html()方法使用在多个元素上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。

.html(htmlString),.text(textString)和.val(value)三种方法都是用来替换选中元素的内容,如果三个方法同时运用在多个元素上时,那么将会替换所有选中元素的内容。

.html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。
/*获得TEXT.AREATEXT的值*/

     var textval = $("#text_id").attr("value");

//或者

     var textval = $("#text_id").val();

/*获取单选按钮的值*/

     var valradio = $("input[@type=radio][@checked]").val();

/*获取一组名为(items)的radio被选中项的值*/

     var item = $('input[@name=items][@checked]').val();

/*获取复选框的值*/

    var checkboxval = $("#checkbox_id").attr("value");

/*获取下拉列表的值*/

     var selectval = $('#select_id').val();

 

//文本框,文本区域:

$("#text_id").attr("value",'');//清空内容

$("#text_id").attr("value",'test');//填充内容

//多选框checkbox:

$("#chk_id").attr("checked",'');//使其未勾选

$("#chk_id").attr("checked",true);//勾选

if($("#chk_id").attr('checked')==true) //判断是否已经选中

 

//单选组radio:

 

$("input[@type=radio]").attr("checked",'2');//设置value=2的项目为当前选中项

 

//下拉框select:

$("#select_id").attr("value",'test');//设置value=test的项目为当前选中项

$("<option value='test'>test</option><option value='test2'>test2</option>").appendTo("#select_id")//添加下拉框的option

$("#select_id").empty();//清空下拉框

 

获取一组名为(items)的radio被选中项的值

var item = $('input[@name=items][@checked]').val();//若未被选中 则val() = undefined

获取select被选中项的文本

var item = $("select[@name=items] option[@selected]").text();

select下拉框的第二个元素为当前选中值

$('#select_id')[0].selectedIndex = 1;

radio单选组的第二个元素为当前选中值

$('input[@name=items]').get(1).checked = true;

 

//重置表单

$("form").each(function(){

       .reset();

        });

 

1. 选取元素

$(”#myid”)效果等于document.getElementById(”myid”), 但是写的字符要少好多啊.

如果需要将jQuery对象转换成html元素, 则只需要取其第0个元素即可. 例如$(”#myid”)返回的是jQuery对象, 而$(”#myid”)[0]返回的就是html元素

如果选择所有的img元素, 那么这么写: $(”img”)

如果选择带有class=”TextBox”的div元素(<div class=”TextBox”></div>), 那么这么写: $(”div.TextBox”)

选择带有myattr属性的元素$(”div[myattr]”)

选择带有myattr属性, 并且属性值等于myclass的元素$(”div[myattr=’myclass’]”)

属性不等于[myattr!=’myclass’]

属性以my开头[myattr^=’my’]

属性以class结尾[myattr$=’class’]

属性包含cla这三个字符[myattr*=’cla’]

如果一个选择会返回多个元素, 并且希望每返回一个元素, 就把某些属性应用到该元素上, 可以这么写

$(”div”).each(function()

{

$(this).css(”background-color”, “#F00″);

alert($(this).html());

$(this).width(”200px”);

});

2.事件

给页面加onload事件处理方法

$(function()

{

alert(”页面结构加载完毕, 但是可能某些图片尚未加载(一般情况下, 此事件就够用了)”);

});

可以给页面绑定多个onload事件处理方法

$(function()

{

alert(”我首先被执行”);

});

$(function()

{

alert(”我第二被执行”);

});

绑定特殊事件

$(”#myid”).keydown(function()

{

alert(”触发了keydown事件”);

});

除了这些常用的, 不常用的事件需要通过bind方法绑定

3. 元素属性/方法

得到一个元素的高度, $(”#myid”).height()

得到一个元素的位置, $(”#myid”).offset() 返回的是一个offset对象, 如果取元素位置的top, 则$(”#myid”).offset().top,?取left则$(”#myid”).offset().left

得到一个元素的innerHTML, $(”#myid”).html()

得到一个元素的innerText, $(”#myid”).text()

得到一个文本框的值, $(”#myid”).val()

得到一个元素的属性, $(”#myid”).attr(”myattribute”)

以上这些方法有个基本特征, 就是不带参数表示取值, 带有参数表示设定值(除了offset), 例如

$(”#myid”).height(”20″);

$(”#myid”).html(”<a href=”>asdasd</a>”)

$(”#myid”).val(”asdasd”)

需要注意, offset是只读的.

给一个元素设置属性 $(”#myid”).attr(”width”, “20%”)

读取一个属性 $(”#myid”).attr(”width”)

一次指定多个属性 $(”#myid”).attr({disabled: “disabled”, width:”20%”, height: “30″})

删除属性$(”#myid”).removeAttr(”disabled”)

应用样式$(”#myid”).addClass(”myclass”)

删除样式$(”#myid”).removeClass(”myclass”)

加一个样式$(”#myid”).css(”height”, “20px”)

加一组样式$(”#myid”).css({height:”20px”, width:”100px”})

需要注意的是: 如果是加一个样式, 这个样式的名字是css中的名字, 比如说style=”background-color:#FF0000″, 对应的jQuery写法是$(”#myid”).css(”background-color”, “#FF0000″)

但是加一组样式的时候, 样式的名字就是javascript中的css名字了, 比如: myid.style.backgroundColor = “#FF0000″, 对应的jQuery写法是$(”#myid”).css({backgroundColor:”#FF0000″})

4. 根据关系查找元素

找和自己同级的下一个元素$(”#myid”).next()

找和自己同级的所有位于自己之下的元素$(”#myid”).nextAll()

找和自己同级的上一个元素$(”#myid”).prev()

找和自己同级的所有位于自己之上的所有元素$(”#myid”).prevAll()

找自己的第一代子元素$(”#myid”).children()

找自己的第一个父元素$(”#myid”).parent()

找自己的所有父元素$(”#myid”).parents()

例子:

$(”div.l4″).parents().each(

function() {

alert($(this).html());

});

会把class=l4的div的所有父元素都得到, 并且alert出他们的html

例子:

$(”div.l4″).parents(”div.l2″).each(function() { alert($(this).html()); });

会得到class=l4的父元素, 该父元素必须是div, 而且其class=l2

这里说的所有方法, 都可以带表达式, 表达式的写法参考第一部分

5. 维护元素

在body中增加一个元素

$(”body”).append(”<input type=’text’ value=’asd’ />”)

该语句会把这段html插入到body结束标签之前, 结果是<input type=’text’ value=’asd’ /></body>

$(”body”).prepend(”<input type=’text’ value=’asd’ />”)

该语句会把这段html插入到body开始标签之后, 结果是<body><input type=’text’ value=’asd’ />

6.AJAX

用get方法请求一个页面

$.get(”http://www.google.com”, “q=jquery”, function(data, status){alert(data)})

表示请求http://www.google.com, 参数是q, 参数的值是jquery, 请求结束后(不管成功还是失败)执行后面的function, 该function有两个固定参数, data和status, data是返回的数据, status是本次请求的状态

用post方法请求一个页面

$.post(……..) 参数同get方法

7.其他方法

$.trim(str) 将str前后空格去掉

$.browser 返回当前用户浏览器的类型

$.browser.version返回当前浏览器的版本

8. 插件

jQuery支持插件, http://jquery.com/plugins/上面有很多现成的插件, 也可以自己写

自己写插件, 请参考http://docs.jquery.com/Core/jQ.....end#objecthttp://docs.jquery.com/Core/jQuery.extend#object

 

1,下拉框:

var cc1  = $(".formc select[@name='country'] option[@selected]").text(); //得到下拉菜单的选中项的文本(注意中间有空格)

var cc2 = $('.formc select[@name="country"]').val();  //得到下拉菜单的选中项的值

var cc3 = $('.formc select[@name="country"]').attr("id"); //得到下拉菜单的选中项的ID属性值

$("#select").empty();//清空下拉框//$("#select").html('');

$("<option value='1'>1111</option>").appendTo("#select")//添加下拉框的option

稍微解释一下:

1.select[@name='country'] option[@selected] 表示具有name 属性,

并且该属性值为'country' 的select元素 里面的具有selected 属性的option 元素;

可以看出有@开头的就表示后面跟的是属性。

2,单选框:

$("input[@type=radio][@checked]").val();  //得到单选框的选中项的值(注意中间没有空格)

$("input[@type=radio][@value=2]").attr("checked",'checked'); //设置单选框value=2的为选中状态.(注意中间没有空格)

3,复选框:

$("input[@type=checkbox][@checked]").val(); //得到复选框的选中的第一项的值

$("input[@type=checkbox][@checked]").each(function(){ //由于复选框一般选中的是多个,所以可以循环输出

  alert($(this).val());

  });

$("#chk1").attr("checked",'');//不打勾

$("#chk2").attr("checked",true);//打勾

if($("#chk1").attr('checked')==undefined){} //判断是否已经打勾
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: