簡體   English   中英

選中/取消選中復選框jQuery

[英]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">

JSFiddle

$('#IDOFCHECKBOX').prop('checked',true);

檢查此.prop()

檢查此ID選擇器

通過名稱選擇可以使用

$('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選擇的#id
  • >選擇直系兒童
  • [attr=value]按屬性值選擇

其中任何一項都可以為您選中該復選框

$('#chk1').prop('checked','checked')

$('#chk1').prop('checked',true)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM