如果 MYSQL 列值为 true,则选中复选框

Posted

技术标签:

【中文标题】如果 MYSQL 列值为 true,则选中复选框【英文标题】:Check checkbox if MYSQL column value true 【发布时间】:2016-06-01 02:15:49 【问题描述】:

我有一个待办事项列表应用程序。它有一个名为 Completed 的列,该列具有真值或假值。如果完成为真,我希望检查复选框。我想出了以下内容:

echo "<label>".$row["name"]."</label>
      <input onload='choose(".$row["completed"].")' class='sssss' value='".$row['id']."' type='checkbox'/>";

<script src='js/jquery.js'></script>
<script>
function choose(a) 
  $(this).attr('checked', a);

</script>

但它不起作用。请帮忙

编辑

我相信js代码只对所有复选框使用第一列值

【问题讨论】:

【参考方案1】:

您可以使用 php 设置检查:

echo "<label>".$row["name"]."</label>
  <input class='sssss' value='".$row['id']."' type='checkbox' ". ($row['completed'] == 'true') ? 'checked' : ''." />";

三元 $row['completed'] == 'true' ? 'checked' : '' 将回显检查是否为真,如果不是,则不返回任何内容。

【讨论】:

感谢您的回复。但是我的列有true或者false作为值(false是不能勾选的默认值) 这就是它的作用。 empty 检查变量是否存在,如果它等于 0,则为空文本 ('') 或 false。所以 !empty 是 1)它是否存在(是)2)它是否包含正值(是)。因此,如果值为真,它将回显“已检查”。我正在编辑答案以使用正确的索引(哎呀)。 不,我的意思是该列是 VARCHAR【参考方案2】:

使用这个:

echo "<label>".$row["name"]."</label>
<input ".($row["completed"]) ? 'checked' : ''." class='sssss' value='".$row['id']."' type='checkbox'/>";

【讨论】:

【参考方案3】:

我想出了一个不同的方法:

if ($row['completed'] == 'true')
    echo "<input class='sssss' value='".$row['id']."' type='checkbox' disabled checked/>";
else 
    echo "<input class='sssss' value='".$row['id']."' type='checkbox' disabled />";

【讨论】:

以上是关于如果 MYSQL 列值为 true,则选中复选框的主要内容,如果未能解决你的问题,请参考以下文章

在复选框中显示来自 mySQL 的 true 或 false (0/1)

如果选中第一个复选框,则根据条件禁用其他复选框

如果数据库中的值为 1,则检查 XSL 复选框显示

如何为每个复选标记保存复选框并增加整数?

SQL如果为true,则查看不同的列值并对其进行计数

从 React 中的 useEffect 挂钩更改复选框选中状态?