我有许多格式化的复选框......
<input type="checkbox" name="mybox" value="box1">Box 1</input>
<input type="checkbox" name="mybox" value="box2">Box 2</input>
<input type="checkbox" name="mybox" value="box3">Box 3</input>
<input type="checkbox" name="mybox" value="box4">Box 4</input>
<input type="checkbox" name="mybox" value="box5">Box 5</input>
我正在尝试阅读使用javascript勾选哪些框并将它们保存为数组,我使用以下代码....
function handleNotifyButtonClick() {
var type = $.trim($("input[@name='mybox']:checked").each(function()
{
add $(this).val() to your array;
}));
但由于某种原因,它不起作用,有人可以帮忙吗?
答案 0 :(得分:1)
将$(this).val()添加到数组中;
这是英文,而不是JavaScript。
试试这个:
var type = [];
$("input[name=mybox]:checked").each(function() {type.push(this.value)});
答案 1 :(得分:0)
这不是你{3} attribute equals selector的做法,而且你有各种语法错误。但是你走在正确的轨道上。
function handleNotifyButtonClick() {
var values = $('input[name="mybox"]:checked').map(function() {
return this.value;
}).get();
}
Live Example | Source - 该示例还更正了HTML并演示了如何将label
标记用于我认为您尝试执行的操作。
我在那里做了什么:
name="value"
)map
获取值的地图map
,我返回每个复选框的值(this
是原始DOM对象,value
是{{1}上完全可靠的跨浏览器元素)get
将返回的地图(奇怪的是jQuery实例)转换为真实数组作为旁注,您永远不会使用input
。 </input>
是void element,不需要结束标记。