設置:每個複選框顯示了兩次
- 的jQuery 3.2.1
- 語義UI 2.1
- 鉻
HTML(基於https://semantic-ui.com/modules/checkbox.html#/definition):
<div id="checkboxes">
<div class="ui checkbox">
<input type="checkbox" name="checkboxes" value="checkbox1">
<label>Branch</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="checkboxes" value="checkbox2">
<label>Branch</label>
</div>
<div class="ui checkbox">
<input type="checkbox" name="checkboxes" value="checkbox3">
<label>Branch</label>
</div>
...
</div>
*它們全部首先被檢查。**用戶取消選中他們想要停用的。
在我的JS文件,我用下面的函數來獲得該複選框被選中:
$('input:checkbox[name=checkboxes]:checked').each(function() {
// Do something with them
});
然而,每個複選框顯示了在新的狀態兩次(一次 - 選中或取消選中,一旦在原始狀態 - 全部檢查)。這使我的邏輯混淆後,使檢查標記毫無意義。
我進入了Chrome開發者工具,並在控制檯中使用了相同的選擇器。得到這個回:
input#checkbox2, input#checkbox3, input#checkbox1, input#checkbox2, input#checkbox3
(我不得不選中checkbox1
)
上爲什麼會出現兩次的任何想法,或者什麼,我在這裏失蹤?
嘗試改變'name'屬性'複選框[]'。 – TricksfortheWeb
@TricksfortheWeb'語法錯誤,不能識別的表達式:輸入:複選框[名稱=複選框[]]:checked' - 除非我誤解? – Sagar
不,請將實際元素的名稱屬性更改爲複選框[],而不是jQuery選擇器。 – TricksfortheWeb