如何在jQuery中创建一个具有<input type =“checkbox”/>的所有id的数组?

时间:2013-10-17 11:28:04

标签: javascript jquery html checkbox

以下是我的HTML代码:

<!-- Following is the code for parent checkbox-->
<input id="ckbCheckAll" class="custom-check ez-hide" type="checkbox" name=""></input>
<!-- Following is the code for child checkboxes-->
<input id="practice_6_191" class="custom-check ez-hide" type="checkbox" onchange="enable_text_boxes('practice_6_191')" value="191" name="practice_topics_6[]"></input>
<input id="practice_6_190" class="custom-check ez-hide" type="checkbox" onchange="enable_text_boxes('practice_6_190')" value="190" name="practice_topics_6[]"></input>
<input id="practice_6_191" class="custom-check ez-hide" type="checkbox" onchange="enable_text_boxes('practice_6_191')" value="191" name="practice_topics_6[]"></input>
<input id="practice_6_192" class="custom-check ez-hide" type="checkbox" onchange="enable_text_boxes('practice_6_192')" value="192" name="practice_topics_6[]"></input>
<input id="practice_6_193" class="custom-check ez-hide" type="checkbox" onchange="enable_text_boxes('practice_6_193')" value="193" name="practice_topics_6[]"></input>
<input id="practice_6_195" class="custom-check ez-hide" type="checkbox" onchange="enable_text_boxes('practice_6_195')" value="195" name="practice_topics_6[]"></input>
<input id="practice_6_196" class="custom-check ez-hide" type="checkbox" onchange="enable_text_boxes('practice_6_196')" value="196" name="practice_topics_6[]"></input>

现在我想创建上述<input type="checkbox"> HTML元素的id数组,并使用父复选框的click事件上的foreach循环访问此数组。

即检查父复选框时,还应检查所有子复选框,当取消选中父复选框时,所有子复选框也应取消选中。

当用户逐个检查所有子复选框时,也应检查父复选框,当用户取消选中任何子复选框时,当时选中父复选框时,父复选框也应取消选中。

你能帮我这方面吗?

另外,更重要的是我不想在类选择器的帮助下访问子复选框,即class =“custom-check”或class =“ez-hide”,因为这些类是所有的儿童复选框。我想创建一个数组,然后在我的代码中访问此数组。提前致谢。

1 个答案:

答案 0 :(得分:4)

使用.map()

var id_checkboxes = $('input[type="checkbox"]').map(function () {
    return this.id;
}).get();