我想通过单击om o按钮在html表中创建一个新行!
每行有几个input
个!
<script type="text/javascript">
row = 2;
specific_row_id = new Array();
$(document).ready(function() {
$(".change_1").change(function() {
if ($('.change_1:checked').val() == 'yes') {
$("#change_time_1").prop('required', true);
$("#change_time_1").prop('readonly', false);
$("#change_time_1").css('background', '#fff');
} else {
$("#change_time_1").prop('readonly', true);
$("#change_time_1").css('background', 'rgba(255, 117, 117, 0.3)');
$("#change_time_1").prop('required', false);
}
});
//==============================
$('#new_row').click(function() { //1
$('#ghate_table').append('<tr><td>' + row + '</td><td><input name="ng_name_' + row + '" type="text" class="ng_name form-control full_w " ></td><td class ="ng_service_td"><div class="selected_container" id="selected_container_' + row + '" ><input name="service_time_' + row + '" id="service_time_' + row + '" type="number" class="service_time form-control " > <select name="service_time_type_' + row + '" class="form-control" ><option>ماه</option><option>روز</option><option> ساعت </option> </select> </div></td><td> <span class = "yes_change"><input name="change_' + row + '" class="change_' + row + '" id="change_yes_' + row + '" type="radio" value="yes" checked> دارد </span> <input name="change_time_' + row + '" id="change_time_' + row + '" type="number" class="change_time form-control " > <select name="change_time_type_' + row + '" class="form-control" ><option> ماه </option> <option> روز </option><option>ساعت</option> </select><span class = "no_change"> <input name="change_' + row + '" class="change_' + row + '" id="change_no_' + row + '" type="radio" value="no" > ندارد </span> </td> </tr> ');
specific_row_id[row] = row;
change = '.change_' + specific_row_id[row];
change_checked = '.change_' + specific_row_id[row] + ':checked'
change_time = '#change_time_' + specific_row_id[row];
alert(specific_row_id[row])
$(change).change(function() { //2
if ($(change_checked).val() == 'yes') {
$(change_time).prop('required', true);
$(change_time).prop('readonly', false);
$(change_time).css('background', '#fff');
} else {
$(change_time).prop('readonly', true);
$(change_time).css('background', 'rgba(255, 117, 117, 0.3)');
$(change_time).prop('required', false);
}
}); //2
row++;
}); //1
});
</script>
新行将创建得很好!并且最后创建的行的脚本运行良好!但如果我创建另一个新行,javascrip脚本不适用于其他最后创建的行! 如何通过javascript或jquery创建新的javascript代码?
答案 0 :(得分:2)
那是因为您使用全局变量来跟踪元素,因此您将覆盖前一行的引用。使用局部变量,以便每次都获得一组新的变量:
action