我是jquery和javascript的新手。但我已经完成了这个功能。选中复选框后,将在隐藏字段中设置其值。这是功能。
<script>
$('#checkDk').on('change', function () {
$('#MainContent_hiddenTargetDk').val($(this).val());
console.log($("#MainContent_hiddenTargetDk").val());
});
</script>
我不知道这是否是最佳方式,但它确实有效。问题是当未选中该复选框时,该值不会从隐藏字段中删除。我一直在寻找并找到了这个。
var value = this.checked ? this.value : "";
你能以某种方式使用它来检查它是否被检查?如果是,我如何将其纳入我的功能?
这是复选框html。
<input id="checkDk" type="checkbox" value="208" onselect="getvalue()" autocomplete="off">
答案 0 :(得分:1)
这应该有效:
<script>
$('#checkDk').on('change', function () {
$('#MainContent_hiddenTargetDk').val( $(this).prop("checked") ? $(this).val(): "");
console.log($("#MainContent_hiddenTargetDk").val());
});
</script>
答案 1 :(得分:1)
$('#checkDk').on('change', function () {
if(this.checked){
var hidden = $('<input />').attr('type', 'hidden')
.addClass('chooseNameHere')
.val($(this).val());
$('#yourFormId').append(hidden);
}else{
$('#yourFormId').find('input[name=chooseNameHere]').remove();
}
});
答案 2 :(得分:0)
$("#your_checkbox").prop("checked")
应该返回true
或false
,表明是否选中了复选框。
尝试而不是val()
答案 3 :(得分:0)
尝试
<script>
$('#checkDk').on('change', function () {
if (this.checked) {
$('#MainContent_hiddenTargetDk').val($(this).val());
console.log($("#MainContent_hiddenTargetDk").val());
} else { $('#MainContent_hiddenTargetDk').val(''); }
});
</script>