Я отображаю динамические данные JSON в HTML-таблице, когда пользователь нажимает кнопку GetData
.
Когда пользователь нажимает кнопку GetData
Iполучаю две строки значений из бэкэнда, которые я успешно показываю в таблице.Первоначально при загрузке html-таблицы первый столбец Year
отключается, а столбец Mortgage Type
можно редактировать.Когда пользователь нажимает кнопку GetData
, я показываю в таблице информацию о двух строках, отключая столбец Mortgage Type
и включая столбец "Year
".Проблема Я хочу включить Year
column
только для строк, для которых я получил информацию от backend
(первые две строки в моемcase).
Ниже приведен пример кода, который я использовал для включения раскрывающегося списка Год для первых двух строк, когда пользователь нажимает кнопку GetData
, но он активируется для всех строк.:
$('#loanTable tr ').each(function(){
for (var i = 0; i < mortageType.length; i++) {
$('td:eq(0) select', this).removeAttr("disabled");//last row enabled
}
});
Демонстрационная ссылка: https://plnkr.co/edit/Fon9NDQA0q660wSz0RHv?p=preview
В приведенной выше демонстрационной ссылке, когда пользователь нажимает кнопку GetData
, я хочу включить Year
поле только для первых двух строк, для которых я получил информацию, остальные строки должны быть отключены.
- EDITED -
Код ниже приведенодин сценарий.Когда я получаю нулевые значения из бэкэнда в любой строке, я не должен включать или отключать какие-либо поля и выделять строку красным цветом, который отлично работает в демонстрационной ссылке, показанной ниже.
https://plnkr.co/edit/fDmFtxdxKk8eeswx4lGT?p=preview
Но тот же код не может включить столбец Год , когда нет нулевых значений.Пожалуйста, смотрите обновленный плункер без нулевых значений, не удалось , чтобы включить в первом поле поле раскрывающегося списка Год:
https://plnkr.co/edit/7pB8q54JavFlCm5Y8gF8?p=preview
Когда пользователь нажимает кнопку GetData, раскрывающийся список Годполя списка для первых двух строк должны быть включены и отключены для последних двух строк, для которых данные недоступны ..
Пример кода:
for (var i = 0; i < mortageType.length; i++) {
j = j + 1;
document.getElementById("mortageType" + j).value = mortageType[i].code;
document.getElementById("loanNum" + j).innerText = loanNum[i].code;
document.getElementById("status" + j).innerText = status[i].code;
//to enable the Year field for the rows we are fetching the data
// $(document.getElementById("year" + j)).removeAttr('disabled');
if(loanNum[i].code == null || mortageType[i].code == null || status[i].code==null ){
console.log("row has null value");
$('#status' + j).parent().parent().css({'border':'red'});
enablingFlag = false; //If any field value is null make the flag as false
}
if(enablingFlag){ //enters the if condition if there are no null values
$('#loanTable input, #loanTable select').attr("disabled", "disabled");
$(document.getElementById("year" + j)).removeAttr('disabled');
}
}