【问题标题】:Checkbox checked based on Databased value基于数据库值选中的复选框
【发布时间】:2020-03-14 16:54:35
【问题描述】:

我有一个动态复选框。所有复选框都有动态 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。其中包含 value19,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。

【问题讨论】:

    标签: javascript jquery jquery-ui checkbox


    【解决方案1】:

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

    除此之外,您的代码没有根据您显示的 HTML 构建有效的id 选择器,因为chkRoles,而不是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">

    【讨论】:

    • 是的,先生,您与ID相关。我更新鲜,所以犯了愚蠢的错误。 :)
    • 没问题,很高兴为您提供帮助
    猜你喜欢
    • 2014-04-24
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    相关资源
    最近更新 更多