다음과 같이 click 이벤트에서 호출되는 버튼에 대한 함수가 있습니다. 한 번 클릭하면 요소의 복사본이 클릭 한 버튼의 행 바로 다음에 삽입됩니다. 변경해야합니다. 새롭게 삽입 된 행의 일부 요소의 ID와 이름DOM에 새로 삽입 된 요소 속성 수정시 문제가 발생했습니다
<tr class="tr_38">
<td>Maths [ Math01 ]</td>
<td>Required</td>
<td>
<select style="width: 250px;" name="TeacherID[2318]" id="TeacherID[2318]">
<option selected="" value="132">Dawn Herus - [ID : 132]</option>
<option value="246">Margaret Wilson - [ID : 246]</option>
</select>
</td>
<td>
<input class="date hasDatepicker" id="ExamDate_2318" name="ExamDate[2318]" value="02/28/2017" type="text">
<input style="width: 100px;" id="ExamTime_2318" name="ExamTime[2318]" value="8:00" type="text">
</td>
<td><input value="+" class="more-38-0 more_button" type="button">
</td>
</tr>
JQUERY 기능 : I는 경고가 chaned 값을 보여주는 소자의 ID 및 이름을 수정 한 후() 경보 확인되지만 경우
var counter = -1;
$(document).on ('click','.more_button',function(){
var courseID='';
var row_classname = $(this).closest('tr').prop('class');
$.each($(this).prop('class').split(' '), function(i, name) {
if (name.indexOf('more-') > -1) {
courseID = name.split('-')[1];
return false;
}
});
var newrow = '<tr class="'+row_classname+'"><td>'+$(this).parent().parent().find('td:eq(0)').text()+
'</td><td>'+$(this).parent().parent().find('td:eq(1)').text()+
'</td><td>'+$(this).parent().parent().find('td:eq(2)').html()+'</td><td>'+
$(this).parent().parent().find('td:eq(3)').html()+'</td><td><input type="button" value="+" class="more-'+
courseID+'-1 more_button"><input type="button" class="remove" value="X">'+
'</td></tr>';
$newrow = $(newrow);
$(newrow).insertAfter($(this).closest('tr'));
$newrow.find('td:eq(2)').find('select').prop('id','TeacherID['+counter+']');//.prop('name','TeacherID['+counter+']');
alert($newrow.find('td:eq(2)').html());
$newrow.find('td:eq(3)').find('input[id^="ExamDate_"]').prop('id','ExamDate_'+counter).prop('name','ExamDate['+counter+']');
$newrow.find('td:eq(3)').find('input[id^="ExamTime_"]').prop('id','ExamTime_'+counter).prop('name','ExamTime['+counter+']');
alert($newrow.find('td:eq(3)').html());
$(this).hide();
counter--;
});
는 DOM은 변경되지 않는다. 뿐만 아니라
뿐인https://jsfiddle.net/anazvak/r3qhokqn/6/
@ ProgrammerV5 유감스럽게 생각합니다. – Techy
지금 바로 코드 수정하기. – ProgrammerV5
@ ProgrammerV5 지원에 감사드립니다. .. 기다리고 있습니다. – Techy