jQuery - 如果值与数组中的元素匹配,则禁用复选框

标签 jquery html mysql checkbox onload

我试图在页面加载时禁用复选框,但条件是复选框值与我的数据库中的记录匹配。

我发现To disable the selective check box on page load jqueryhttp://jsfiddle.net/R27wq/1/ 。他和我的情况之间的唯一区别是复选框被禁用的情况。对于他的情况,如果最后一列的值等于 1.0,则该复选框将被禁用。

我想做同样的事情,只是如果它的值与我的数据库中的记录匹配,我想禁用该复选框。

下面是我的数据库:

my db

下面是我的复选框中的代码片段:

<td>
   <input type="checkbox" class="seats" name="selected[]" value="A26">
</td>
<td>
   <input type="checkbox" class="seats" name="selected[]" value="A25">
</td>

复选框在网页上看起来像这样: enter image description here

如果复选框值与“保留”列匹配,则应将其禁用。

我如何针对我的情况实现相同的概念?我在想也许我可以将数据库中的值存储在一个数组中,然后从那里将所有数组元素与所有复选框值进行比较?或者,还有更好的方法?有人可以帮我吗

最佳答案

使用 JSFiddle 中的代码,只需添加 $(this).find("input[type='checkbox']").attr('checked','true'); 和一个数组和一个 map()forEach() 来检查它。

$(function() {
  var reserved = ["A26", "A28"];
  var seats = document.getElementsByClassName('seats');
  for (var i = 0; i < seats.length; i++) {
    reserved.map(function(v) {
      if (seats[i].value === v) {
        seats[i].setAttribute("disabled", "true");
        seats[i].setAttribute("checked", "true");
      }
    });
  }
});
p {
  position: relative;
  top: -35px;
  left: 20px;
}
body {
  width: 500px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" class="seats" name="selected[]" value="A26"><p>A26</p>
<input type="checkbox" class="seats" name="selected[]" value="A27"><p>A27</p>
<input type="checkbox" class="seats" name="selected[]" value="A28"><p>A28</p>
<input type="checkbox" class="seats" name="selected[]" value="A29"><p>A29</p>

关于jQuery - 如果值与数组中的元素匹配,则禁用复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59314850/

相关文章:

mysql - 在查询中设置索引的正确方法

MySQL用于测试环境。有没有办法卡住数据库?

javascript - es6 vanilla javascript 中的 Ajax 请求

javascript - 点击另一个div时如何更改div样式

php - 如何使用ajax从mysql数据库中选择月份和年份

javascript - 多选元素并删除元素和文档单击中的属性?

javascript - 为此,将 WordPress 发布信息分配给 PHP 数组并将 php 数组值分配给 javascript 数组

html - Firefox 和 IE11 - 表格内的图像不遵循 td 宽度

javascript - 在循环中使用 window.location 插入数据时出现问题(GET 方法)

mysql - SQL查询需要很长时间