function buttonEvent(){
$('#abc').click(function(){
var id_array= [];
$('input:checkbox[type="checkbox"]:checked').each(function(){
var id = $(this).parents("tr").children("td:nth-child(2)").text();
if(id!=""){
id_array.push(id);
console.log(id);
}
});
var idarrayString=id_array.join();//轉換成字符串
今天我主要遇到好了好多問題,
.each方法
在jquery中,遍歷對象和數組,經常會用到$().each和$.each(),兩個方法。
$().each 在dom處理上面用的較多。如果頁面有多個input標籤類型爲checkbox,對於這時用$().each來處理多個checkbook,例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<h3>jQuery操作checkbox
</h3>
<input type="checkbox" id="cbCheckbox1" value="1" />
<input type="checkbox" value="2" />
<input type="checkbox" disabled="disabled" value="3" />
<input type="checkbox" value="4" />
<input type="checkbox" disabled="true" value="5" />
<br />
<input type="button" id="btnDisabled" value="禁用" οnclick="fn_disabled();" />
<input type="button" id="Button1" value="啓用" οnclick="fn_enable();" /><br />
<input type="button" id="Button2" value="獲取選中的值" οnclick="getCheckedValues();" /><br />
<input type="button" id="Button3" value="選中第二個" οnclick="checkedSecond();" />
<input type="button" id="Button4" value="取消選中第二個" οnclick="uncheckedSecond();" /><br />
</body>
</html>
<script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function fn_disabled() {
//$("input[type='checkbox']").attr("disabled", "disabled");
//$("input[type='checkbox']").attr("disabled", true);
$("input[type='checkbox']").prop("disabled", true);
// $("input[type='checkbox']").prop("disabled", "disabled");
}
function fn_enable() {
// $("input[type='checkbox']").removeAttr("disabled");
// $("input[type='checkbox']").attr("disabled", false);
// $("input[type='checkbox']").prop("disabled","");
$("input[type='checkbox']").prop("disabled", false);
}
//獲取選中的 checkbox的值
function getCheckedValues() {
var arr = [];
$("input[type='checkbox']:checked").each(function (index, item) {//
arr.push($(this).val());
});
alert(arr);
}
function checkedSecond() {
// $("input[type='checkbox']:eq(1)").prop("checked", "checked");
$("input[type='checkbox']:eq(1)").prop("checked", true);
}
function uncheckedSecond() {
// $("input[type='checkbox']:eq(1)").prop("checked", "");
$("input[type='checkbox']:eq(1)").prop("checked", false);
}
$("#cbCheckbox1").click(function () {
if ($(this).prop("checked")) {//jquery 1.6以前版本 用 $(this).attr("checked")
alert("選中");
} else {
alert("沒有選中");
}
});
</script>
//注意: 操作checkbox的checked,disabled屬性時jquery1.6以前版本用attr,1.6以上(包含)建議用prop //1、根據id獲取checkbox $("#cbCheckbox1"); //2、獲取所有的checkbox $("input[type='checkbox']");//or $("input[name='cb']"); //3、獲取所有選中的checkbox $("input:checkbox:checked");//or $("input:[type='checkbox']:checked");//or $("input[type='checkbox']:checked");//or $("input:[name='ck']:checked"); //4、獲取checkbox值 //用.val()即可,比如: $("#cbCheckbox1").val(); //5、獲取多個選中的checkbox值 var vals = []; $('input:checkbox:checked').each(function (index, item) { vals.push($(this).val()); }); //6、判斷checkbox是否選中(jquery 1.6以前版本 用 $(this).attr("checked")) $("#cbCheckbox1").click(function () { if ($(this).prop("checked")) { alert("選中"); } else { alert("沒有選中"); } }); //7、設置checkbox爲選中狀態 $('input:checkbox').attr("checked", 'checked');//or $('input:checkbox').attr("checked", true); //8、設置checkbox爲不選中狀態 $('input:checkbox').attr("checked", '');//or $('input:checkbox').attr("checked", false); //9、設置checkbox爲禁用狀態(jquery<1.6用attr,jquery>=1.6建議用prop) $("input[type='checkbox']").attr("disabled", "disabled");//or $("input[type='checkbox']").attr("disabled", true);//or $("input[type='checkbox']").prop("disabled", true);//or $("input[type='checkbox']").prop("disabled", "disabled"); //10、設置checkbox爲啓用狀態(jquery<1.6用attr,jquery>=1.6建議用prop) $("input[type='checkbox']").removeAttr("disabled");//or $("input[type='checkbox']").attr("disabled", false);//or $("input[type='checkbox']").prop("disabled", "");//or $("input[type='checkbox']").prop("disabled", false);
勾選框的例子