0

我有一组复选框,选择后它们的值被添加到一个字符串中。但我还需要仅在选择"input_36_10"后启用文本框。在文本框中输入的值需要添加到字符串中。我无法捕获输入到文本框中的值。我的代码参考:http: //jsfiddle.net/WgaXj/1/

function updateTextArea() {
var x2 = $('.form-checkbox[id^="input_36_"]:checked').map(function () {
    return this.value;
}).get().join();
$('#t1').val(x2);
}
  $(function () {
  $("#input_36_10").change(function () {
    if ($(this).attr("checked")) {
        $("#td1").removeAttr("disabled");
        var x3 = $("td1").val();
        x2 = x2 + x3;
    } else {
        $("#td1").attr("disabled", true);
    }
  });
  $('#butto').click(updateTextArea);
});
4

2 回答 2

0

你应该在你的function

   if($(this).attr('id')=='input_36_10')
        return $('#td1').val();

完整代码

var x2 ='';
var x1='';
function updateTextArea() {
    x2= $('.form-checkbox[id^="input_36_"]:checked').map(function () {
        // add the two lines to work it properly
        if($(this).attr('id')=='input_36_10')//Remember the id of other
            return $('#td1').val();//return the textbox value near by other checkbox
        return this.value;
    }).get().join();
    $('#t1').val(x2);
    x1 = $('.form-checkbox[id^="input_37_"]:checked').map(function () {
        return this.value;
    }).get().join();
    $('#t2').val(x1);
}
$(function () {
    $("#input_36_10").change(function () {
        if ($(this).is(":checked")) {
            $("#td1").removeAttr("disabled");
        } else {
            $("#td1").prop("disabled", true);
        }
    });
    $('#butto').click(updateTextArea);
});

小提琴

于 2013-08-19T10:21:26.107 回答
0

您可以使用is(':checked')

$(function () {
      $("#input_36_10").change(function () {
        if ($(this).is(':checked')) {
            $("#td1").removeAttr("disabled");
            var x3 = $("#td1").val();
            x2 = x2 + x3;
        } else {
            $("#td1").attr("disabled", true);
        }
      });
于 2013-08-19T10:23:31.610 回答