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