여러 개의 셀에 양식 입력이 여러 개인 테이블이 있습니다 (아래 HTML 스 니펫 참조). 나는 개별 행을 제거하는 함수를 가지고 있고 각 행 (새로운 행 인덱스를 얻는 데)을 반복하면서 남아있는 모든 것을 다시 색인하려고하고 각 입력 ($('td input', $row).each(...)
)을 반복하고 name
을 업데이트하려고합니다. 및 id
속성 내가 찾는 것은 첫 번째 셀의 입력이 다시 색인화되지만 두 번째 셀의 입력은 입력되지 않는다는 것입니다.테이블 행의 자손
업데이트 된 두 번째 셀을 유지하지 못한다고 생각하는 것이 있습니까?
감사합니다.
HTML 코드 조각 : 호평
<tbody>
<tr>
<td>
<input type="hidden" name="data[Ticket][0][id]" value="" id="Ticket0Id">
<input type="hidden" name="data[Ticket][0][date_id]" value="" id="Ticket0DateId">
<input name="data[Ticket][0][name]" type="text" maxlength="45" value="" id="Ticket0Name">
</td>
<td>
<input name="data[Ticket][0][cost]" type="text" value="" id="Ticket0Cost">
</td>
</tr>
<tr>
<td>
<input type="hidden" name="data[Ticket][1][id]" value="" id="Ticket1Id">
<input type="hidden" name="data[Ticket][1][date_id]" value="" id="Ticket1DateId">
<input name="data[Ticket][1][name]" type="text" maxlength="45" value="" id="Ticket1Name">
</td>
<td>
<input name="data[Ticket][1][cost]" type="text" value="" id="Ticket1Cost">
</td>
</tr>
</tbody>
, 여기에 인덱싱 할 시도 jQuery를 조각입니다 :
// $tbody references the <tbody> element in the snippet above
$('tr', $tbody).each(function(i, row) {
var $row = $(row);
$('td input', $row).each(function(j, input) {
$(input).attr('id', $(this).attr('id').replace(/\d+/g, i))
$(input).attr('name', $(this).attr('name').replace(/\d+/g, i));
})
});
jQuery 코드를 제공 할 수 있습니까? – Blazemonger
어떤 코드는 어떨까요? –
jsfiddle에 js 코드 및/또는 작동 예제를 게시 할 수 있습니까? –