как правильно установить флажок в таблице для каждой строки? - PullRequest
0 голосов
/ 14 октября 2019

Флажок не работает для каждой строки правильно, почему? Как я могу заставить это работать?

I поставить полный код здесь нажмите на эту ссылку много раз пытался, но это не работает.

function check(chk) {
  var checkb = document.getElementById(chk);
  if (checkb.checked == true) {
    document.getElementById('textbox').value = "1234567";
    $(".js-example-basic-multiple").prop("disabled", true);
  } else {
    document.getElementById('textbox').value = "0000000";
    $(".js-example-basic-multiple").prop("disabled", false);
    $(".js-example-basic-multiple").val(null).trigger('change');
  }
}

1 Ответ

0 голосов
/ 14 октября 2019

var checkb = document.getElementById(chk.id)

checkb возвращается undefined, потому что document.getElementById ищет значение идентификатора. Вы передаете chk, который является целым тегом флажка, атрибутами и всем. chk.id дает вам идентификатор и обеспечивает определение checkb. Вам также нужно изменить

document.getElementById('textbox').value = "1234567";
document.getElementById('textbox').value = "0000000";

на

document.getElementById('textbox1').value = "1234567";
document.getElementById('textbox1').value = "0000000";

, потому что вы устанавливаете идентификаторы таким образом с этой строкой

var tBody = tBodyTemplate.replace(/textbox/g, 'textbox' + rowCount); 

Это работает, когда у вас есть только 1ряд. Когда вы добавляете больше, вещи ломаются. Вы также должны сделать идентификатор уникальным. chk1 нельзя использовать в качестве идентификатора для каждой дублирующейся строки. Идентификаторы должны быть уникальными

'<input type="checkbox" id="chk1"  onclick="check(\chk1\)" >'

chk1 должны быть в паре с textbox1. chk2 должно быть в паре с textbox2 и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...