将复选框选中的状态保存并加载到数据库
Save and Load Checkbox checked states to database
我的网站中有一个"设置"页面,我希望用户能够选中或取消选中设置页面中的复选框。然后,应在用户登录时加载复选框的状态。
我的想法是像这样为每个复选框分配 id:
<input type="checkbox" id="chk1" data-col='column1' value="0"/>
<input type="checkbox" id="chk2" data-col='column2' value="0"/>
然后使用 jQuery 在选中的函数上为每个值设置值,就像在"保存设置"按钮上一样:
$( "input:checkbox" ).each(function() {
if $(this).prop('checked'){
$(this).prop('value','1')
}
});
然后在我的 MySql 表中为每个复选框设置一列,然后通过 ajax/php 将值(1 或 0)发送到我的数据库。
然后,当用户登录时,我可以获取每列的值(1 或 0),然后基于此,我可以设置检查状态。
这是一个好方法吗?我想确保如果有更简单的解决方案或方法,我不会走错路。
假设 $query_array 是数据库查询的容器。由于您已在帖子的标签中包含 php,因此您可以在输入中插入 php 标签(假设该文件也是 php):
<input type="checkbox" id="chk1" data-col='column1' value="<?php echo $query[0][col_name];?>"/>
^上面的 0 可能是 ID,col_name是包含 0/1 的列名
编译时,它应该类似于这样:
<input type="checkbox" id="chk1" data-col='column1' value="0"/>
与其使用 jquery,不如在已经设置完值的情况下渲染复选框:
<input type="checkbox" id="chk1" data-col='column1' value="<?php echo $chk1?>" <?php echo $checked?>/>
编辑
如果你只想保留它 HTML,你可以将状态存储在 JSON 中(其中属性名称是 chekbox 的 id 和它的状态值),并将其循环为:
$.each(jsonChkbxValues, function(index, val) {
var elem = $('#' + index);
elem.prop('value', val);
if (val) {
elem.attr('checked', 'checked');
}
});
相关文章:
- Jquery(多读/少读)在从数据库加载整个数据后不起作用
- 当select标记触发onChange事件时,从mysql数据库加载html表
- 为什么 Javascript 和 AJAX 调用(在页面加载时)会导致数据库行为空?(脸书画布)
- SuiteScript:如何有一个自定义的数据字段来从数据库加载信息
- 在Moqui中,如何在html.ftl中加载数据库表数据作为下拉列表
- Selectize.js:如何将数据库中已经选择的标签预加载到输入字段(Meteor&MongoDB/JSON)
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- 从数据库加载记录,不带提交按钮的下拉选择
- 无限滚动:从数据库加载所有数据并滚动以显示更多
- 使用 SQL .js在 JavaScript 中加载 SQLite 数据库
- 有没有办法重新加载主GEPlugin数据库
- 如何高亮显示选定的文本并存储在数据库中,以及当页面重新加载时,如何高亮显示回选定的文本
- 单击图像时从数据库加载选项id
- 如何使用YDN-db在另一个Html页面中加载数据库上下文
- 在css背景上动态加载数据库中的图像
- 我如何通过ajax加载数据库内容之前,一个过滤器键被按下
- 点击加载数据库项
- JQuery没有'ajax加载数据库后无法工作
- 基于用户文本输入动态加载数据库
- 可以't在dhtmlxgantt.php中加载数据库