사용자가 "행 추가"를 클릭하고 양식에서 새 요소를 가져올 수 있다는 점에서 동적으로 생성 된 양식이 있습니다.jquery에서 알 수없는 요소 ID에 값 추가
일부 요소는 수량 및 가격입니다. 사용자가 입력 한 값에 따라 값을 변경하고 싶습니다. 그래서 그가 qty = 4를 선택하고 price = 10을 얻으려면 amount = 40이 필요합니다.
입력 ID가 동적으로 생성되므로 가격이나 금액의 선택자로 사용할 것을 모른다. 양식 제출에
var form = "<tr><td>Quantity</td>
<td><input class='qty' type='text' id='qty[]' name='qty[]'></td>";
form += "<td>Part Num</td>
<td><input type='text' id='part[]' name='part[]'></td>";
form += "<td>Description</td>
<td><input class='desc' type='text' id='desc[]' name='desc[]'></td>";
form += "<td>Unit Price</td>
<td><input type='text' id='price[]' name='price[]'></td>";
form += "<td>Amount</td>
<td><input type='text' id='amount[]' name='amount'></td></tr>";
$('#addItem').click(function(){
$('#itemsTable').append(form);
});
$(document).on('change','.qty',function(){
//What can i use as a selector for value_of_qty and value_of_price here???
//var total = $(value_of_qty) * $(value_of_price);
//$(id_of_amount).val(total);
});
i는 다음을 참조하십시오
<tr class="tableRow">
<td>Quantity</td>
<td><input class='qty' type='text' id='qty[]' name='qty[]'/></td><td>Part Num</td>
<td><input type='text' id='part[]' name='part[]'/></td>
<td>Description</td>
<td><input class='desc' type='text' id='desc[]' name='desc[]'/></td>
<td>Unit Price</td>
<td><input type='text' class="price" id='price[]' name='price[]'/></td>
<td>Amount</td>
<td><input type='text' class="amount" id='amount[]' name='amount'/></td>
</tr>
$(document).on('change', '.qty', function() {
var qty = $(this).val();
var price = $(this).closest('.tableRow').find('.price').val();
var total = qty * price;
$(this).closest('.tableRow').find('.amount').val(total);
});
'. 이 프로세스의 어느 시점에서든 HTML을 동적으로 변경한다는 표시는 없습니다. 따라서 _all_ 추가 된 행은 페이지의 모든 'id'속성 값이 고유해야하므로 'input' 요소에 대해 동일한'id '속성 값을 갖게됩니다. 허용되지 않습니다. 내가 여기서 뭔가를 놓치고 있니? – bgoldst
테스트로서, 나는 어떤 폼이 보일지를보기 위해 제출 버튼을 보았습니다. 각 필드에 대한 배열을 보여줍니다. ('0'= 'x', '1'= 'y') ... – bart2puck
편집 bgoldst를 참조하십시오 .. – bart2puck