【发布时间】:2014-11-04 03:02:32
【问题描述】:
我的问题与javascript-php-add-checkbox-values-to-input-text非常相似
有一个父复选框,有 6 个连续的子复选框。当子复选框被选中时,我创建了一个脚本,父复选框将被选中。如果所有 6 个子复选框都被清除,父复选框也将被清除。有没有办法从输入文本中输入(和删除)这些多重检查操作,因为目前它只识别一个被点击的复选框。我正在使用最新的 jquery。
HTML
<input type="checkbox" name="chkcc5" id="chkGrpSD3" value="sd">SD
<input type="checkbox" name="chk5[]" class="chkGrpSD3" value="kelas 1">Kelas 1
<input type="checkbox" name="chk5[]" class="chkGrpSD3" value="kelas 2">Kelas 2
<input type="checkbox" name="chk5[]" class="chkGrpSD3" value="kelas 3">Kelas 3
<input type="checkbox" name="chk5[]" class="chkGrpSD3" value="kelas 4">Kelas 4
<input type="checkbox" name="chk5[]" class="chkGrpSD3" value="kelas 5">Kelas 5
<input type="checkbox" name="chk5[]" class="chkGrpSD3" value="kelas 6">Kelas 6
<input type="text" name="modelos" />
jQuery
$("input.chkGrpSD3").click(function () {
var flag = $('#chkGrpSD3').is(':checked');
if (flag === false) {
$('#chkGrpSD3').prop('checked', true);
}
var noOneChecked = $('input[name="chk5[]"]:checked').length === 0;
if (noOneChecked) {
$('#chkGrpSD3').prop('checked', false);
}
});
$("#chkGrpSD3").click(function () {
if (!this.checked) {
$('input.chkGrpSD3').prop('checked', false);
}
});
$(":checkbox").click(function () {
var delimiter = ";";
var checkbox = $(this);
var text = $("input[name='modelos']");
if (checkbox.is(":checked")) {
text.val(text.val() + checkbox.val() + delimiter)
} else {
text.val(function () {
return $(this).val().replace(checkbox.val() + delimiter, "");
});
}
});
【问题讨论】:
-
您是否正在寻找取消选中 SD 复选框并且文本框变为空白的场景?
-
您是否希望根据文本框值检查复选框?
标签: javascript jquery html checkbox