[英]Check/Uncheck checkbox jQuery
我有一種情況,我在JavaScript中得到以下信息:
$('<input type="checkbox" name="checkbox1" value="12345">').prop('checked',true);
上面根本沒有選中該復選框。 還嘗試了:
$('<input type="checkbox" name="checkbox1" value="12345">').attr('checked','checked');
當我這樣做時,我得到的價值是:
$('<input type="checkbox" name="checkbox1" value="12345">').val();
數組中包含以下內容:
<input type="checkbox" name="checkbox1" value="12345">
所以我通常在上面這樣稱呼:
$(data[0]).val();
為什么不使用prop或attr進行檢查/取消檢查呢?
復選框已選中。
var elem = $('<input type="checkbox" name="checkbox1" value="12345">').prop('checked',true);
console.log(elem.prop("checked")); //true
console.log(elem[0]); //<input type="checkbox" name="checkbox1" value="12345">
在檢查時,DOM不會神奇地將屬性添加為屬性。 如果要更新HTML,則必須添加一個屬性
var elem = $('<input type="checkbox" name="checkbox1" value="54321">').attr("checked","checked");
console.log(elem.prop("checked")); //true
console.log(elem[0]); //<input type="checkbox" name="checkbox1" value="12345" checked="checked">
$('#IDOFCHECKBOX').prop('checked',true);
通過名稱選擇可以使用
$('input[type=checkbox][name="checkbox1"]').prop('checked', true)
肯定在jQuery 1.6+中
使用新的.prop()函數:
$('。myCheckbox')。prop('checked',true); $('。myCheckbox')。prop('checked',false);
jQuery 1.5及以下
.prop()函數不可用,因此您需要使用.attr()。
要選中復選框(通過設置被選中屬性的值),請執行
$('。myCheckbox')。attr('checked','checked');
並取消選中(通過完全刪除屬性)來執行
$('。myCheckbox')。removeAttr('checked');
任何版本的jQuery
如果僅使用一個元素,則使用DOMElement.checked = true總是最快的。 使用.prop()和.attr()函數的好處是它們將對所有匹配的元素進行操作。
//假設(this.checked)復選框上有一個事件處理程序
您應該使用適當的jQuery選擇器,例如:
$('#checkboxId').prop('checked',true);
以下是現有選擇器的列表:
http://api.jquery.com/category/selectors/
大多數CSS選擇器都可以使用,例如:
.class
選擇類別 #id
>
選擇直系兒童 [attr=value]
按屬性值選擇 其中任何一項都可以為您選中該復選框
$('#chk1').prop('checked','checked')
$('#chk1').prop('checked',true)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.