2013-08-19 37 views
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); 
}); 

回答

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); 
}); 

Fiddle

+0

我给一个尝试..但出于某种原因,而不是$我没有能够捕捉到进入文本 –

+0

使用$(“#TD1”)的值(“TD1”) – Cris

+0

没有..没有工作。也许我的问题是模糊的,你会介意在这里回顾一下http://jsfiddle.net/WgaXj/1/ –

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); 
     } 
     });