У меня есть следующий код для заполнения скрытого поля после изменения или события нажатия клавиши для любого поля формы в каждой строке ввода:
$(".leave_row_0").bind("keydown change", function(e) {
$(".leave_hidden_0").val("1");
});
$(".leave_row_1").bind("keydown change", function(e) {
$(".leave_hidden_1").val("1");
});
$(".leave_row_2").bind("keydown change", function(e) {
$(".leave_hidden_2").val("1");
});
Однако я не буду знать общее количество строк, которыепоявится на странице в любой момент времени, поэтому мне нужно написать это динамически. Я написал цикл for для упрощения вещей, но по какой-то причине код перестает работать, когда я пытаюсь выполнить его следующим образом:
var k = 0;
for (k = 0; k < leave_requests.length; k++) {
$(".leave_row_" + k).bind("keydown change", function(e) {
$(".leave_hidden_" + k).val("1");
});
}
Есть какие-нибудь идеи о дополнительном ингредиенте, который я мог бы упустить?
Вот моя структура HTML:
i = 0;
json[2].forEach(function(leave){
leave_requests.push(
'<div class="row">' +
'<div class="col-sm-2 low-padding-right">' +
'<input type="text" value="' + format_date(json[2][i]['leave_date'], 'leave') + '" name="leave_date[]" class="leave_row_' + i + ' form-control" readonly>' +
'</div>' +
'<div class="col-sm-1 low-padding">' +
'<select class="leave_row_' + i + ' form-control" name="day_part[]" id="day_part" style="width: 100%;">' +
'<?php foreach($dayparts as $daypart){ ?>' +
'<option value="{{ $daypart->daypart_id }}">{{$daypart->daypart}}</option>' +
'<?php } ?>' +
'</select>' +
'</div>' +
'<div class="col-sm-1 low-padding">' +
'<select class="leave_row_' + i + ' form-control" name="leave_type[]" id="leave_type" style="width: 100%;">' +
'<?php foreach($leave_types as $leave_type){ ?>' +
'<option value="{{ $leave_type->leave_type_type_id }}">{{ $leave_type->leave_type_type }}</option>' +
'<?php } ?>' +
'</select>' +
'</div>' +
'<div class="col-sm-4 low-padding">' +
'<input type="text" value="' + filter_null_values(json[2][i]['leave_notes']) + '" name="leave_notes[]" class="leave_row_' + i + ' form-control">' +
'</div>' +
'<div class="col-sm-1 low-padding">' +
'<input type="text" value="' + (json[2][i]['employee_first_name']).charAt(0) + json[2][i]['employee_last_name'] + '" name="last_updated[]" class="leave_row_' + i + ' form-control" readonly>' +
'</div>' +
'<div class="col-sm-2 low-padding">' +
'<input type="text" value="' + format_date(json[2][i]['leave_updated_time'], 'updated') + '" name="leave_updated_time[]" class="leave_row_' + i + 'form-control" readonly>' +
'</div>' +
'<div class="col-sm-1 low-padding">' +
'<select class="form-control" class="leave_row_' + i + ' name="status[]" id="status" style="width: 100%;">' +
'<?php foreach($status_names as $name){ ?>' +
'<option value="' + json[2][i]['status_name'] + '" name="status" class="form-control">' + json[2][i]['status_name'] + '</option>' +
'<?php } ?>' +
'</select>' +
'</div>' +
'</div>' +
'<input type="hidden" value="" name="leave-hidden" class="leave_hidden_' + i + ' form-control" readonly>'
);
i++;
});