jquery的checkbox,radio,和select是jquery操作的一個難點和重點,很多前端新手對其了解不是很透徹。時間久了不用,我在寫的時候有時也難免對某些操作支支吾吾,記不清楚,現(xiàn)在,對其做一些簡單的總結(jié)!
現(xiàn)在我們以下面的html為例進行checkbox的操作。
<input id="checkAll" type="checkbox" />全選
<input name="subBox" type="checkbox" />項1
<input name="subBox" type="checkbox" />項2
<input name="subBox" type="checkbox" />項3
<input name="subBox" type="checkbox" />項4
<script type="text/javascript"> $(function() { $("#checkAll").click(function() { $('input[name="subBox"]').attr("checked",this.checked); }); var $subBox = $("input[name='subBox']"); $subBox.click(function(){ $("#checkAll").attr("checked",$subBox.length == $("input[name='subBox']:checked").length ? true : false); }); }); </script>
var val = $("#checkAll").val();// 獲取指定id的復(fù)選框的值
var isSelected = $("#checkAll").attr("checked"); // 判斷id=checkAll的那個復(fù)選框是否處于選中狀態(tài),選中則isSelected=true;否則isSelected=false; //jquery1.6之后版本,用prop()判斷。應(yīng)該寫成 isSelected = $("#checkAll").prop("checked");
$("#checkAll").attr("checked", true);// or
$("#checkAll").attr("checked", 'checked');// 將id=checkbox_id3的那個復(fù)選框選中,即打勾
$("#checkAll").attr("checked", false);// or
$("#checkAll").attr("checked", '');// 將id=checkbox_id3的那個復(fù)選框不選中,即不打勾 $("input[name=subBox][value=3]").attr("checked", 'checked');// 將name=subBox, value=3 的那個復(fù)選框選中,即打勾
$("input[name=subBox][value=3]").attr("checked", '');// 將name=subBox, value=3 的那個復(fù)選框不選中,即不打勾
$("input[type=checkbox][name=subBox]").get(2).checked = true;// 設(shè)置index = 2,即第三項為選中狀態(tài)
$("input[type=checkbox]:checked").each(function(){ //由于復(fù)選框一般選中的是多個,所以可以循環(huán)輸出選中的值 alert($(this).val());
}); //jquery1.6之后新增.prop()屬性,因此jquery1.6之后的版本,用var isSelected = $("#checkAll").prop("checked");選中則isSelected=true;否則isSelected=false; 來判斷是否選中!
我們?nèi)匀灰韵旅娴膆tml為例:
<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
radio操作如下:
$("input[name=radio]:eq(0)").attr("checked",'checked'); //這樣就是第一個選中咯。 //jquery中,radio的選中與否和checkbox是一樣的。$("#radio1").attr("checked","checked");
$("#radio1").removeAttr("checked");
$("input[type='radio'][name='radio']:checked").length == 0 ? "沒有任何單選框被選中" : "已經(jīng)有選中";
$('input[type="radio"][name="radio"]:checked').val(); // 獲取一組radio被選中項的值 $("input[type='radio'][name='radio'][value='2']").attr("checked", "checked");// 設(shè)置value = 2的一項為選中
$("#radio2").attr("checked", "checked"); // 設(shè)置id=radio2的一項為選中 $("input[type='radio'][name='radio']").get(1).checked = true; // 設(shè)置index = 1,即第二項為當(dāng)前選中
var isChecked = $("#radio2").attr("checked");// id=radio2的一項處于選中狀態(tài)則isChecked = true, 否則isChecked = false;
var isChecked = $("input[type='radio'][name='radio'][value='2']").attr("checked");// value=2的一項處于選中狀態(tài)則isChecked = true, 否則isChecked = false;
select操作相比checkbox和radio要相對麻煩一些,我們?nèi)匀灰韵旅娴膆tml為例來說明:
<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>
看select的如下屬性:
$("#select_id").change(function(){// 1.為Select添加事件,當(dāng)選擇其中一項時觸發(fā) //code... }); var checkValue = $("#select_id").val();// 2.獲取Select選中項的Value var checkText = $("#select_id :selected").text(); // 3.獲取Select選中項的Text var checkIndex = $("#select_id").attr("selectedIndex");// 4.獲取Select選中項的索引值,或者:$("#select_id").get(0).selectedIndex; var maxIndex =$("#select_id :last").get(0).index;// 5.獲取Select最大的索引值 /** * jQuery設(shè)置Select的選中項 */ $("#select_id").get(0).selectedIndex = 1;// 1.設(shè)置Select索引值為1的項選中 $("#select_id").val(4);// 2.設(shè)置Select的Value值為4的項選中 /** * jQuery添加/刪除Select的Option項 */ $("#select_id").append("<option value='新增'>新增option</option>");// 1.為Select追加一個Option(下拉項) $("#select_id").prepend("<option value='請選擇'>請選擇</option>");// 2.為Select插入一個Option(第一個位置) $("#select_id").get(0).remove(1);// 3.刪除Select中索引值為1的Option(第二個) $("#select_id :last").remove();// 4.刪除Select中索引值最大Option(最后一個) $("#select_id [value='3']").remove();// 5.刪除Select中Value='3'的Option $("#select_id").empty(); $("#select_id").find("option:selected").text();// 獲取select 選中的 text : $("#select_id").val(); // 獲取select選中的 value: $("#select_id").get(0).selectedIndex;// 獲取select選中的索引: //設(shè)置select 選中的value: $("#select_id").attr("value","Normal"); $("#select_id").val("Normal"); $("#select_id").get(0).value = value; //設(shè)置select 選中的text,通??梢栽趕elect回填中使用
var numId=33 //設(shè)置text==33的選中!
var count=$("#select_id option").length; for(var i=0;i<count;i++) { if($("#select_id").get(0).options[i].text == numId) { $("#select_id").get(0).options[i].selected = true; break; } }
通過上面的總結(jié),應(yīng)該對jquery的checkbox,radio和select有了一定的了解了吧,溫故而知新,用多了就會變的熟練起來,即使有時候忘記了,也可以來翻一翻!
聯(lián)系客服