jquery操作select(取值,设置选中)
最近⼯作中总出现select 和 option问题,整理⼀下,内容⼤部分源于⽹络资料
⼀、基础取值问题
例如<select class="selector"></select>
1、设置value为pxx的项选中
$(".selector").val("pxx");
2、设置text为pxx的项选中
$(".selector").find("option:contains('pxx')").attr("selected",true);
注意:之前$(".selector").find("option[text='pxx']").attr("selected",true);这种写法是错误的,⽬前个⼈证实input⽀持这种获取属性值的写法:"input[text='pxx']",select中需要"option:contains('pxx')"这样获取。
(感谢博友 sunnyjs 指正)
这⾥有⼀个中括号的⽤法,中括号⾥的等号的前⾯是属性名称,不⽤加引号。很多时候,中括号的运⽤可以使得逻辑变得很简单。
3、获取当前选中项的value
$(".selector").val();
4、获取当前选中项的text
$(".selector").find("option:selected").text();
这⾥⽤到了冒号,掌握它的⽤法并举⼀反三也会让代码变得简洁。
⼆、很多时候⽤到select的级联,即第⼆个select的值随着第⼀个select选中的值变化。这在jquery中是⾮常简单的。
如:$(".selector1").change(function(){
// 先清空第⼆个
$(".selector2").empty();
// 实际的应⽤中,这⾥的option⼀般都是⽤循环⽣成多个了
var option = $("<option>").val(1).text("pxx");
$(".selector2").append(option);
});
三、jQuery获取Select选择的Text和Value:jquery的attr属性
语法解释:
1. $("#select_id").change(function(){//});  //为Select添加事件,当选择其中⼀项时触发
2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text
3. var checkValue=$("#select_id").val();  //获取Select选择的Value
4. var checkIndex=$("#select_id ").get(0).selectedIndex;  //获取Select选择的索引值
5. var maxIndex=$("#select_id option:last").attr("index");  //获取Select最⼤的索引值
四、jQuery设置Select选择的 Text和Value:
语法解释:
1. $("#select_id ").get(0).selectedIndex=1;  //设置Select索引值为1的项选中
2. $("#select_id ").val(4);  // 设置Select的Value值为4的项选中
3. $("#select_id option[text='jQuery']").attr("selected", true);  //设置Select的Text值为jQuery的项选中
五、jQuery添加/删除Select的Option项:
语法解释:
1. $("#select_id").append("<option value='Value'>Text</option>");  //为Select追加⼀个Option(下拉项)
2. $("#select_id").prepend("<option value='0'>请选择</option>");  //为Select插⼊⼀个Option(第⼀个位置)
3. $("#select_id option:last").remove();  //删除Select中索引值最⼤Option(最后⼀个)
4. $("#select_id option[index='0']").remove();  //删除Select中索引值为0的Option(第⼀个)
5. $("#select_id option[value='3']").remove();  //删除Select中Value='3'的Option
5. $("#select_id option[text='4']").remove();  //删除Select中Text='4'的Option
六、jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关
1 获取⼀组radio被选中项的值
var item = $('input[name=items][checked]').val();
2 获取select被选中项的⽂本
var item = $("select[name=items] option[selected]").text();
3 select下拉框的第⼆个元素为当前选中值
$('#select_id')[0].selectedIndex = 1;
4 radio单选组的第⼆个元素为当前选中值
$('input[name=items]').get(1).checked = true;
七、获取值:
⽂本框,⽂本区域:$("#txt").attr("value");
多选框 checkbox:$("#checkbox_id").attr("value");
单选组radio:  $("input[type=radio][checked]").val();
下拉框select: $('#sel').val();
⼋、控制表单元素:
⽂本框,⽂本区域:$("#txt").attr("value",'');//清空内容
$("#txt").attr("value",'11');//填充内容
多选框checkbox: $("#chk1").attr("checked",'');//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr('checked')==undefined) //判断是否已经打勾
单选组 radio:    $("input[type=radio]").attr("checked",'2');//设置value=2的项⽬为当前选中项
下拉框 select:  $("#sel").attr("value",'-sel3');//设置value=-sel3的项⽬为当前选中项
$("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option $("#sel").empty();//清空下拉框

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。