我遇到了一个问题.这是一个简短的解释.
我在标准表格上有12个复选框.我需要做的是遍历每一个并了解哪些被检查以及哪些未被检查.
使用它,然后我可以构建一个字符串,然后我将其输入数据库字段.这是一个例子.
(Check1 - 选中)
(Check2 - 未选中)
(Check3 - 选中)
1,0,1
到目前为止,我已经有了这段代码.
$('input[type=checkbox]').each(function () {
if (this.checked) {
console.log($(this).val());
}
});
Run Code Online (Sandbox Code Playgroud)
它完美地工作,除了它只带回已检查的,而不是全部.
对不起,对于新问题.我对jquery有点新意.
Ed *_*bor 117
要以您显示的格式完全构建结果字符串,您可以使用:
var sList = "";
$('input[type=checkbox]').each(function () {
sList += "(" + $(this).val() + "-" + (this.checked ? "checked" : "not checked") + ")";
});
console.log (sList);
Run Code Online (Sandbox Code Playgroud)
但是,我同意@SLaks,我认为您应该重新考虑将其存储在数据库中的结构.
编辑:对不起,我误读了你要找的输出格式.这是一个更新:
var sList = "";
$('input[type=checkbox]').each(function () {
var sThisVal = (this.checked ? "1" : "0");
sList += (sList=="" ? sThisVal : "," + sThisVal);
});
console.log (sList);
Run Code Online (Sandbox Code Playgroud)
Sam*_*son 59
你可以得到所有选中的复选框,如下所示:
var boxes = $(":checkbox:checked");
Run Code Online (Sandbox Code Playgroud)
并且所有非检查都是这样的:
var nboxes = $(":checkbox:not(:checked)");
Run Code Online (Sandbox Code Playgroud)
您只能循环浏览其中一个集合,并存储这些名称.如果没有任何东西,你知道它是否被检查过.在PHP中,如果您有一个已检查的名称数组,您可以简单地做一个in_array()请求,以了解是否应该在以后检查任何特定的框.
jQuery还有一个序列化方法,可以维护表单控件的状态.例如,jQuery网站上提供的示例如下:
single=Single2&multiple=Multiple&multiple=Multiple3&check=check2&radio=radio2
Run Code Online (Sandbox Code Playgroud)
这将使您能够保留检查哪些元素的信息.
SLa*_*aks 16
您可以通过编写循环遍历所有复选框$(':checkbox').each(...).
如果我正确理解您的问题,您正在寻找以下代码:
var str = "";
$(':checkbox').each(function() {
str += this.checked ? "1," : "0,";
});
str = str.substr(0, str.length - 1); //Remove the trailing comma
Run Code Online (Sandbox Code Playgroud)
此代码将循环遍历所有复选框,并将1,或添加0,到字符串中.
| 归档时间: |
|
| 查看次数: |
309231 次 |
| 最近记录: |