jQuery操作radio、checkbox、select总结
鉴于网上总结的资料排版差、总结混乱、版本陈旧,所以从新总结了一下常用的jQuery操作radio、checkbox、select,所用jQuery版本为 jquery-1.4.2.min.js 。以下,按三种表单元素分别总结:
1、radio:单选框
HTML代码:
<input type="radio" name="radio" id="radio1" value="1" />1
<input type="radio" name="radio" id="radio2" value="2" />2
<input type="radio" name="radio" id="radio3" value="3" />3
<input type="radio" name="radio" id="radio4" value="4" />4
js操作代码:
// 判断有没有单选框被选中
jQuery("input[type='radio'][name='radio']:checked").length == 0 ? "没有任何单选框被选中" : "已经有选中";
// 获取一组radio被选中项的值
jQuery('input[type="radio"][name="radio"]:checked').val();
// 设置value = 2的一项为选中
jQuery("input[type='radio'][name='radio'][value='2']").attr("checked", "checked");
// 设置id=radio2的一项为选中
jQuery("#radio2").attr("checked", "checked");
// 设置index = 1,即第二项为当前选中
jQuery("input[type='radio'][name='radio']").get(1).checked = true;
// id=radio2的一项处于选中状态则isChecked = true, 否则isChecked = false;
var isChecked = jQuery("#radio2").attr("checked");
// value=2的一项处于选中状态则isChecked = true, 否则isChecked = false;
var isChecked = jQuery("input[type='radio'][name='radio'][value='2']").attr("checked");
2、checkbox:复选框
HTML代码:
<input type="checkbox" name="checkbox" id="checkAll" />全选/取消全选
<input type="checkbox" name="checkbox" id="checkbox_id1" value="1" />1
<input type="checkbox" name="checkbox" id="checkbox_id2" value="2" />2
<input type="checkbox" name="checkbox" id="checkbox_id3" value="3" />3
<input type="checkbox" name="checkbox" id="checkbox_id4" value="4" />4
<input type="checkbox" name="checkbox" id="checkbox_id5" value="5" />5
js操作代码:
// 获取指定id的复选框的值
var val = jQuery("#checkbox_id1").val();
// 判断id=checkbox_id3的那个复选框是否处于选中状态,
// 选中则isSelected=true;否则isSelected=false;
var isSelected = jQuery("#checkbox_id3").attr("checked");
jQuery("#checkbox_id3").attr("checked", true);// or
// 将id=checkbox_id3的那个复选框选中,即打勾
jQuery("#checkbox_id3").attr("checked", 'checked');
jQuery("#checkbox_id3").attr("checked", false);// or
// 将id=checkbox_id3的那个复选框不选中,即不打勾
jQuery("#checkbox_id3").attr("checked",'');
// 将name=checkbox, value=3 的那个复选框选中,即打勾
jQuery("input[name=checkbox][value=3]").attr("checked",'checked');
// 将name=checkbox, value=3 的那个复选框不选中,即不打勾
jQuery("input[name=checkbox][value=3]").attr("checked",'');
// 设置index = 2,即第三项为选中状态
jQuery("input[type=checkbox][name=checkbox]").get(2).checked=true;
//由于复选框一般选中的是多个,所以可以循环输出选中的值
jQuery("input[type=checkbox]:checked").each(function(){alert(jQuery(this).val()); });
// 全选/取消全选
jQuery(function() {
jQuery("#checkAll").click(function(){
if(jQuery(this).attr("checked") == true){// 全选
jQuery("input[type=checkbox][name=checkbox]").each(function(){
jQuery(this).attr("checked", true);
});
} else {// 取消全选
jQuery("input[type=checkbox][name=checkbox]").each(function(){
jQuery(this).attr("checked", false);
});
}
});
});
3、select:下拉框
HTML代码:
<select name="select" id="select_id" style="width: 100px;">
<option value="1">11</option>
<option value="2">22</option>
<option value="3">33</option>
<option value="4">44</option>
<option value="5">55</option>
<option value="6">66</option>
</select>
js操作代码:
// 为Select添加事件,当选择其中一项时触发
jQuery("#select_id").change(function(){});
// 获取Select选中项的Value
var checkValue = jQuery("#select_id").val();
// 获取Select选中项的Text
var checkText = jQuery("#select_id :selected").text();
// 获取Select选中项的索引值
var checkIndex = jQuery("#select_id").attr("selectedIndex");
// or
jQuery("#select_id").get(0).selectedIndex;
// 5.获取Select最大的索引值
var maxIndex = jQuery("#select_id :last").attr("index");
// or
jQuery("#select_id :last").get(0).index;
// jQuery设置Select的选中项
// 设置Select索引值为1的项选中
jQuery("#select_id").get(0).selectedIndex = 1;
// 设置Select的Value值为4的项选中
jQuery("#select_id").val(4);
// jQuery添加/删除Select的Option项
// 为Select追加一个Option(下拉项)
jQuery("#select_id").append("<option value='新增'>新增option</option>");
// 为Select插入一个Option(第一个位置)
jQuery("#select_id").prepend("<option value='请选择'>请选择</option>");
// 删除Select中索引值为1的Option(第二个)
jQuery("#select_id").get(0).remove(1);
// 删除Select中索引值最大Option(最后一个)
jQuery("#select_id :last").remove();
// 删除Select中Value='3'的Option
jQuery("#select_id [value='3']").remove();
// 清空下拉列表 jQuery("#select_id").empty();