我希望每次用户使用Jquery或javascript单击其中一个复选框时,都会在数组中动态获得所有选中的复选框。 PS:我使用Django + Python生成选项,并使用Bootstrap设置样式 这是我的代码:
{% for option in options %}
<div class="input-group" style="margin-bottom: 7px;">
<div class="input-group-prepend">
<div class="input-group-text">
<input type="checkbox" name="checks[]" aria-label="Radio button for following text input" id="option_choice" class="ipad_pro" value="{{ option.name }}" onclick="getCheckedCheckboxes('option_choice')">
</div>
</div>
<input style="background-color: #fff;" type="text" class="form-control" disabled=True value="{{ option.name }} {{ option.price }}€" aria-label="Text input with radio button">
</div>
{% endfor %}
到目前为止,我已经尝试这样做:
function getCheckedBoxes(chkboxId) {
var checkboxes = document.querySelectorAll('#' + chkboxId);
var checkboxesChecked = [];
for (var i=0; i<checkboxes.length; i++) {
if (checkboxes[i].checked) {
checkboxesChecked.push(checkboxes[i]);
}
}
return checkboxesChecked.length > 0 ? checkboxesChecked : null;
}
var checkedBoxes = getCheckedBoxes("option_choice");
但这对我来说还没有解决。
如果您知道我的问题的答案,请帮助我。
答案 0 :(得分:1)
答案 1 :(得分:1)
<input type="checkbox" name="checks[]" aria-label="Radio button for following text input" id="option_choice" class="ipad_pro" value="{{ option.name }}"
onclick="getCheckedCheckboxes('option_choice')">
您试图在getCheckedCheckboxes
方法上绑定单击处理程序,但是函数名称为getCheckedBoxes
,因此单击该元素将不会运行该方法。
答案 2 :(得分:1)
使用JS获取所有选中的复选框输入:
var checked = document.querySelectorAll("input[type=checkbox]:checked");