根据复选框更新文本框 Jquery

Update textboxes based on checkboxes Jquery

我想用 Jquery 实现以下目标

我尝试了以下代码,但它不起作用

<input type="checkbox" id="ckval1" class="checkvaloare" /> Trip 1
<input type="text" id="text1" class="ckval1" size="2" />
<br />
<input type="checkbox" id="ckval2" class="checkvaloare" /> Trip 2
<input type="text" id="text2" class="ckval2" size="2" />

JQuery如下:

$("input[type=checkbox]").click(function () {
   update();
});

function update() {
   $("input[type=text]").each(function () {
    if (($(this).is(":checked"))) {
        $(this).val(1);
    }
    else
    {
        $(this).val(0);
    }
  });
}

两期:

  • 您无需单击即可更改复选框
  • 在你的函数中,你使用 $this) 来引用复选框,但它引用了文本输入

尝试这样的事情:

$("input[type=checkbox]").change(function (e) {
   update(e.target);
});

function update(el) {
   $("input[type=text]").each(function () {
    if (($(el).is(":checked"))) {
        $(this).val(1);
    }
    else
    {
        $(this).val(0);
    }
  });
}

使用 .next() 获取下一个兄弟元素并 .prev() 获取前一个兄弟元素。

尝试

$(function () {
    $("input[type=checkbox]").on('click', function () {

        $(this).next().val($(this).is(':checked') ? '1' : '0');
    });
    $("input[type=text]").on('keyup', function () {
        if (+ $(this).val()) {
            alert('f');
            $(this).prev().prop('checked', true);
        } else {
            $(this).prev().prop('checked', false);
        }
    });
});

演示:http://jsfiddle.net/tamilcselvan/m242bo5z/2/