过帐值形成一个复选框数组
Post values form an array of checkboxes
几个小时以来,我一直在尝试从一组同名的复选框中获取数据。
<input type="checkbox" name="node"/>
var selectedValues = [];
$(document.getElementsByName("node")).each(function () {
selectedValues.push($(this).checked);
});
$.ajax({
url: "/Summary/Test",
type: "POST",
data: selectedValues,
traditional: true
});
public void Test(string [] nodes)
{
}
我在这里做错了什么?我不明白它为什么跳过那条线。
如果你想收集一个复选框值的数组,你可以使用mep方法:
var selectedValues = $('[name=node]:checked').map(function() {
return this.value;
}).get();
假设您使用的是jQuery(?)。
或者在简单的javascript中,它几乎是一样的:
var selectedValues = [],
nodes = document.querySelectorAll('[name=node]');
Array.prototype.slice.call(nodes).forEach(function(el) {
if (el.checked) {
selectedValues.push(el.value);
}
});
AJAX:
$.ajax({
url: "/Summary/Test",
type: "POST",
data: {nodes: selectedValues},
traditional: true
});
您不能将所有复选框命名为相同的名称,只会提交最后一个值。将每个更改为:
<input type="checkbox" name="node[]" />
这将创建一个选定值的数组。
相关文章:
- 复选框:一次只允许单击一个复选框
- jquery从2个json字符串构建一个复选框表单
- 聚合物铁形式验证至少选中一个复选框
- 如何创建只允许用户在选中前一个复选框的情况下选择复选框的复选框验证
- 如果选中了以下复选框,请选中上一个复选框
- 如何通过jQuery选中所有复选框并在单击一个复选框时取消选择
- 如何发现至少有一个复选框被选中或没有使用javascript
- 在mvc4中选择另一个复选框时禁用复选框
- 在服务器上创建一个复选框,使用 javascript 处理函数
- jqGrid-当我点击网格中的另一个复选框时,选中多选复选框
- 确保至少选中一个复选框
- 选中一个复选框后,使用html.checkbox自动禁用其他复选框
- 创建一个复选框按钮的散列,这些按钮在单击时在Twitter Bootstrap Button组中处于活动状态
- 如果选中了上一个复选框,则需要的验证插件
- 取消选中一个复选框时,如何启用所有复选框?使用javascript
- 当选中一个复选框时,表单中的所有其他复选框都必须禁用-不工作
- 当一个复选框处于活动状态时,禁用所有复选框
- Angular 1:最后一个复选框没有'刷新页面后不要保持选中状态
- 当选中另一个复选框时,如何取消选中该复选框
- 允许用户只选择一个复选框(引导复选框-x)