jquery操作select(取值,设置选中)

/ 默认分类 / 没有评论 / 2514浏览

基础取值问题

例如<select class="selector"></select>

# 设置value为pxx的项选中
$(".selector").val("pxx");

# 设置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')这样获取。

这里有一个中括号的用法,中括号里的等号的前面是属性名称,不用加引号。很多时候,中括号的运用可以使得逻辑变得很简单。

# 获取当前选中项的value
$(".selector").val();

#获取当前选中项的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);
});

获取Select选择的Text和Value

 # 为Select添加事件,当选择其中一项时触发
 $("#select_id").change(function(){//code...});  
 # 获取Select选择的Text
 var checkText=$("#select_id").find("option:selected").text(); 
 #  获取Select选择的Value
 var checkValue=$("#select_id").val(); 
 # 获取Select选择的索引值
 var checkIndex=$("#select_id ").get(0).selectedIndex; 
 # 获取Select最大的索引值
 var maxIndex=$("#select_id option:last").attr("index"); 

设置Select选择的 Text和Value

# 设置Select索引值为1的项选中
$("#select_id ").get(0).selectedIndex=1; 
# 设置Select的Value值为4的项选中
$("#select_id ").val(4);
# 设置Select的Text值为jQuery的项选中
$("#select_id option[text='jQuery']").attr("selected", true);

添加/删除Select的Option项

# 为Select追加一个Option(下拉项)
$("#select_id").append("<option value='Value'>Text</option>");
#为Select插入一个Option(第一个位置)
$("#select_id").prepend("<option value='0'>请选择</option>"); 
#删除Select中索引值最大Option(最后一个)
 $("#select_id option:last").remove(); 
#删除Select中索引值为0的Option(第一个)
$("#select_id option[index='0']").remove(); 
#删除Select中Value='3'的Option
$("#select_id option[value='3']").remove(); 
#删除Select中Text='4'的Option
$("#select_id option[text='4']").remove();

radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关

#获取一组radio被选中项的值 
var item = $('input[name=items][checked]').val(); 

#获取select被选中项的文本 
var item = $("select[name=items] option[selected]").text();

#select下拉框的第二个元素为当前选中值 
$('#select_id')[0].selectedIndex = 1; 

# 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
# 设置value=2的项目为当前选中项 
$("input[type=radio]").attr("checked",'2');

# 下拉框 select:  
# 设置value=-sel3的项目为当前选中项 
$("#sel").attr("value",'-sel3');
# //添加下拉框的option 
$("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")
# 清空下拉框
$("#sel").empty();