2016-09-13 13 views
1

固有のID番号を使用して、追加された行の入力値を取得できません。常にundefinedを返します。 id = "aaa1 '+ x +'"から "x"を削除すると値を取得できますが、xを追加すると(これを使用して一意のIDを適用します)、常に未定義が返されます。あなたの助けに感謝します。追加されたテーブルから値を取得できません。


 
    // alert($('#a').val()); 
 
    // alert($('#b').val()); 
 
    // alert($('#c').val()); 
 
    // alert($('#d').val()); 
 

 
var x=0; 
 
$('#a1').click(function(){ 
 
\t $('#myTable1').append(
 
\t \t \t '<tr><td><input class="form-control input-sm w3-input" id="aaa'+x+'" type="text"></td><td><input class="form-control input-sm w3-input" type="text" id="bbb'+x+'"></td><td><input class="form-control input-sm w3-input" id="ccc" type="text"></td><td><input class="form-control input-sm w3-input" id="ddd" type="text"></td></tr>' 
 
\t \t \t); 
 
\t \t \t x=x+1; 
 
    
 
\t \t \t alert($('#aaa'+x).val()); 
 
\t \t \t alert($('#bbb'+x).val()); 
 
\t \t \t alert($('#ccc'+x).val()); 
 
\t \t \t alert($('#ddd'+x).val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
 
<table class="table table-bordered customFields2" id="myTable1"> 
 
    <tr> 
 
    <td><label class="w3-validate">Components Required</label></td> 
 
    <td><label class="w3-validate">Description</label></td> 
 
    <td><label class="w3-validate">Qty Per</label></td> 
 
    <td><label class="w3-validate">Total Qty</label></td> 
 
    </tr> 
 
    <tr>  
 
    <td><input class="form-control input-sm w3-input" id="a" type="text" required></td> 
 
    <td><input class="form-control input-sm w3-input" id="b" type="text" required></td> 
 
    <td><input class="form-control input-sm w3-input" id="c" type="text" required></td> 
 
    <td><input class="form-control input-sm w3-input" id="d" type="text" required></td> 
 
    </tr> 
 
</table> 
 
<button id="a1" class="w3-btn w3-hover-cyan"><i class="fa fa-plus-circle"></i> Add Row</button><hr>

答えて

0

// alert($('#a').val()); 
 
// alert($('#b').val()); 
 
// alert($('#c').val()); 
 
// alert($('#d').val()); 
 

 
var x = 0; 
 
$('#a1').click(function() { 
 
    $('#myTable1').append(
 
    '<tr><td><input class="form-control input-sm w3-input" id="aaa1' + x + '" type="text" value="123"></td><td><input class="form-control input-sm w3-input" type="text" id="bbb' + x + '"></td><td><input class="form-control input-sm w3-input" id="ccc" type="text"></td><td><input class="form-control input-sm w3-input" id="ddd" type="text"></td></tr>' 
 
); 
 
    x = x + 1; 
 

 
    alert($('#aaa' + x).length); 
 
    alert($('#bbb' + x).length); 
 
    alert($('#ccc' + x).length); 
 
    alert($('#ddd' + x).length); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
 
<table class="table table-bordered customFields2" id="myTable1"> 
 
    <tr> 
 
    <td> 
 
     <label class="w3-validate">Components Required</label> 
 
    </td> 
 
    <td> 
 
     <label class="w3-validate">Description</label> 
 
    </td> 
 
    <td> 
 
     <label class="w3-validate">Qty Per</label> 
 
    </td> 
 
    <td> 
 
     <label class="w3-validate">Total Qty</label> 
 
    </td> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <input class="form-control input-sm w3-input" id="a" type="text" required> 
 
    </td> 
 
    <td> 
 
     <input class="form-control input-sm w3-input" id="b" type="text" required> 
 
    </td> 
 
    <td> 
 
     <input class="form-control input-sm w3-input" id="c" type="text" required> 
 
    </td> 
 
    <td> 
 
     <input class="form-control input-sm w3-input" id="d" type="text" required> 
 
    </td> 
 
    </tr> 
 
</table> 
 
<button id="a1" class="w3-btn w3-hover-cyan"><i class="fa fa-plus-circle"></i> Add Row</button> 
 
<hr>

  1. 入力がその時間の間に存在していないので、あなたは長さを確認した場合、それはゼロ
  2. である。また、あなたのIDがで間違っていますそれがaaa1であることを付け加えてください
0

解決策が見つかりました。

以下にご確認ください。 https://jsfiddle.net/0htvshzk/

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
<table class="table table-bordered customFields2" id="myTable1"> 
    <tr> 
    <td> 
     <label class="w3-validate">Components Required</label> 
    </td> 
    <td> 
     <label class="w3-validate">Description</label> 
    </td> 
    <td> 
     <label class="w3-validate">Qty Per</label> 
    </td> 
    <td> 
     <label class="w3-validate">Total Qty</label> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <input class="form-control input-sm w3-input" id="a" type="text" required> 
    </td> 
    <td> 
    <input class="form-control input-sm w3-input" id="b" type="text" required> 
    </td> 
    <td> 
    <input class="form-control input-sm w3-input" id="c" type="text" required> 
    </td> 
<td> 
    <input class="form-control input-sm w3-input" id="d" type="text" required> 
</td> 
</tr> 
</table> 
<button id="a-0" class="w3-btn w3-hover-cyan"><i class="fa fa-plus-circle"></i> Add Row</button> 
<hr> 

$('#a-0').click(function() { 
var id = $(this).attr("id"); 
var x = id.split("-").pop(); 
$('#myTable1').append(
'<tr><td><input class="form-control input-sm w3-input" id="aaa' + x + '" type="text" value="123"></td><td><input class="form-control input-sm w3-input" type="text" id="bbb' + x + '"></td><td><input class="form-control input-sm w3-input" id="ccc" type="text"></td><td><input class="form-control input-sm w3-input" id="ddd" type="text"></td></tr>' 
); 
    x = parseInt(x)+1; 
    var aid ='#aaa'+ x; 
    var bid ='#bbb'+ x; 
    var cid ='#ccc'+ x; 
    var did ='#ddd'+ x; 
    alert(aid); 
    alert(bid); 
    alert(cid); 
    alert(did); 
    $(this).attr("id",'a-'+x); 
}); 
関連する問題