当取消选中复选框时,删除隐藏字段中的值jquery

时间:2015-10-22 12:09:32

标签: javascript jquery checkbox

我是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">

4 个答案:

答案 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")应该返回truefalse,表明是否选中了复选框。

尝试而不是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>