复选框触发输入,反之亦然

时间:2015-05-28 13:54:50

标签: javascript jquery html checkbox

我目前正在处理表单,我需要执行以下操作:

如果选中输入字段旁边的复选框(在本例中为qty字段),则将输入设置为“1”。如果qty字段大于1,则复选框保持选中状态。

如果取消选中该复选框,则qty字段将重置为0.或者,如果用户在qty字段中输入0,则复选框也未选中

问题

  • 增加按钮目前需要两次点击才能增加数量
  • 当qty字段的数字> gt时0,然后减少到0,增加按钮不再有效。

有人能以我的方式发现错误吗?

jQuery('.exhibitorBooking--table .desc input[type="checkbox"]').on('change', function(){
        if(this.checked){
            jQuery(this).parents('tr').find('.qty-field input[type="text"]').val('1');
        } else {
            jQuery(this).parents('tr').find('.qty-field input[type="text"]').val('0');
        }
    });
    jQuery('.exhibitorBooking--table .qty-field input[type="text"]').on('change', function(){
        if(jQuery(this).val() == 0){
            jQuery(this).parents('tr').find('input[type="checkbox"]').attr('checked', false);
        } else if(jQuery(this).val() == 1) {
            jQuery(this).parents('tr').find('input[type="checkbox"]').trigger('change').attr('checked', true);
        } else {
            jQuery(this).parents('tr').find('input[type="checkbox"]').attr('checked', true);
        }
    });

JSFiddle

1 个答案:

答案 0 :(得分:0)

jQuery(document).ready(function() {
    $('#chkStand-1-1').on('change', function() {
        var value = $(this).is(':checked') ? 1 : 0;
        $('.input-text').val(value);
    });

    $('.input-text').on('keyup', function() {
        $('#chkStand-1-1').prop('checked', (parseInt($(this).val(), 10) > 0));
    });
});

演示:https://jsfiddle.net/tusharj/01s04dw4/1/