根据数据库值选中复选框

Checkbox checked based on Databased value

我有一个动态复选框。所有复选框都有动态 ID,如下面的代码所示。此复选框使用 "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">

我正在从其他 TABLE 获取数据,比方说 TABLE2。其中包含值 19,22,25.

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

我想勾选ID为“19,22,25”的CHECKBOX。

首先请注意,您有多个具有相同 id 的元素。这是无效的,因为 id 属性 具有 是唯一的。如果无法实现,请使用 data-id 在元素上存储自定义数据。

除此之外,您的代码并未根据您显示的 HTML 构建有效的 id 选择器,因为 chkRolesclass,而不是 id。您还可以简化逻辑。试试这个:

"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">