Флажок установлен на основе значения из базы данных - PullRequest
1 голос
/ 14 марта 2020

У меня есть флажок Dynami c. Все флажки имеют идентификатор Dynami c, как показано в коде ниже. Этот флажок привязывается с помощью "TABLE1" .

<input type="checkbox" class="level-one" id="22" name="chkRoles" value="RecordOne">
<input type="checkbox" class="level-one" id="22" name="chkRoles" value="Recordtwo">
<input type="checkbox" class="level-one" id="19" name="chkRoles" value="Recordthree">
<input type="checkbox" class="level-one" id="30" name="chkRoles" value="RecordFour">
<input type="checkbox" class="level-one" id="35" name="chkRoles" value="RecordFive">
<input type="checkbox" class="level-one" id="25" name="chkRoles" value="RecordSix">

Я получаю данные из другой таблицы, скажем, TABLE2 . Которые содержат значение 19,22,25.

var sectionLevelOne = "19,22,25";
var levelArrayOne = sectionLevelOne.split(",");
$.each(levelArrayOne, function (index, value){
       $("chkRoles_"+id).prop("checked",true);
});

Я хочу проверить те CHECKBOX, чей идентификатор "19,22,25".

1 Ответ

1 голос
/ 14 марта 2020

Во-первых, обратите внимание, что у вас есть несколько элементов с одинаковым id. Это недопустимо, поскольку id атрибуты имеют быть уникальными. Если вы не можете этого добиться, используйте data-id для хранения пользовательских данных в элементе.

Кроме того, ваш код не создает действительный селектор id на основе HTML, который вы указали как chkRoles, это класс , а не id. Вы также можете упростить логи c. Попробуйте это:

"19,22,25".split(',').forEach(id => {
  $(`[data-id="${id}"]`).prop('checked', true);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" class="level-one" data-id="22" name="chkRoles" value="RecordOne">
<input type="checkbox" class="level-one" data-id="22" name="chkRoles" value="Recordtwo">
<input type="checkbox" class="level-one" data-id="19" name="chkRoles" value="Recordthree">
<input type="checkbox" class="level-one" data-id="30" name="chkRoles" value="RecordFour">
<input type="checkbox" class="level-one" data-id="35" name="chkRoles" value="RecordFive">
<input type="checkbox" class="level-one" data-id="25" name="chkRoles" value="RecordSix">
...