2012-11-11 137 views
2

我目前正在致力於一個javascript和php項目。我有一個複選框陣列,具有相同的ID chkCategory和名稱chkCategory[]。然後我讓PHP返回一些包含各種類別的json,並且我想爲json中的每個類別設置每個複選框checked屬性。唯一標識每個複選框的是值。即json的值可能爲MyCategory,因此應該設置值爲MyCategory的複選框。根據其值設置複選框

我知道你可以使用$("#myCheckBoxId").attr("checked", true)作爲單獨的複選框,但不知道如何對具有特定值的特定複選框執行此操作。

感謝您提供的任何幫助。

+2

您無法在JavaScript中使用相同的ID。 – andlrc

+0

這是事實 - 在多個地方使用相同的ID會導致意想不到的結果。看看它對@ null的用戶名:P(我們之前見過嗎?我已經說過這個笑話了嗎?) – Lix

+0

@NULL,you _can,_例如'$('input [id =「someID」]')',但當然你不需要_因爲你不應該在你的HTML首先有重複的ID ... – nnnnnn

回答

2

您可以在JQuery中使用標準的CSS屬性選擇器。例如:

$("input[value=MyCategory]") 

將選擇具有屬性value=MyCategory的輸入標籤。如果有不同類型的input s的該值,你也可以選擇在type=checkbox

$("input[type=checkbox][value=MyCategory]") 
+1

@Lix肯定的,但如果沒有其他輸入類型的值 - 上面的選擇器將工作 - - 取決於你需要的選擇性。 – McGarnagle

+0

感謝您的幫助,效果很好 – Boardy

1

如果你知道索引,你可以做...

$("input[name='MyCategory']").eq(n).prop("checked", true); 

如果不這樣做有jQuery的...

document.getElementsByName("MyCategory")[n].checked = true; 
0

在普通的JavaScript就應該是這樣的:

​document.querySelector('input[value=checkboxValue]').checked = true;​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

其中checkboxValue是您的複選框的值