Jquery 如何遍历所有选中的复选框?
我的网站具有以下功能:Jquery 如何遍历所有选中的复选框?,jquery,Jquery,我的网站具有以下功能: <td><input id="inp_0001010030" type="checkbox"></td> <td><input id="inp_0001010031" type="checkbox"></td> <td><input id="inp_0001010032" type="checkbox"></td> <td><input id="i
<td><input id="inp_0001010030" type="checkbox"></td>
<td><input id="inp_0001010031" type="checkbox"></td>
<td><input id="inp_0001010032" type="checkbox"></td>
<td><input id="inp_0001010033" type="checkbox"></td>
<td><input id="inp_0001010034" type="checkbox"></td>
这些是动态创建的
以及一个表单,该表单位于页面底部,位于包含上述行的区域之外:
<form action="??" method="??" >
<input value="Action" type="submit">
<select id="SelectedAction" >
<option value="1">Delete</option>
<option value="2">Move</option>
</select>
</form>
删除
移动
创建行后,我需要单击事件表单按钮查看每个复选框,然后调用一个javascript函数,该函数的id和SelectedAnswer的值对应于选中的每个复选框
请注意,如果有一种方法可以在没有表单的情况下执行此操作,那么它会更好。我只是对jQuery了解不够
这是使用jQuery可以轻松完成的事情吗?您需要在复选框中添加一个类。然后,使用jQuery的
.each()
方法如下:
function doMyCustomFunction(el, formAction) {
console.info('The element ID is ' + el.id + ' and the action is ' + formAction);
return true;
}
HTML
<input type="checkbox" class="list">
<input type="checkbox" class="list">
<input type="checkbox" class="list">
<input type="checkbox" class="list">
<input type="checkbox" class="list">
编辑
请看这个(上面的代码)。我只实现了delete选项(不是很好),但使用value
变量检查选择了哪个选项。如果您希望在提交表单之前执行此操作,请删除e.preventDefault()
行。
$("input[type=submit]").click(function () {
var answer = $("#SelectedAnswer").val();
$("input:checked").each(function () {
var id = $(this).attr("id");
alert("Do something for: " + id + ", " + answer);
});
});
您要做的第一件事是使用$.submit()
处理程序将事件处理程序绑定到表单上的提交事件。接下来,您将要迭代每个选中的输入元素:
$('form').submit(function() {
var action = $('#SelectedAction option:selected', this).val();
$('table input:checkbox:checked').each(function(i){
return doMyCustomFunction(this, action);
});
}
您的自定义函数(在我的示例中为“doMyCustomFunction()
”)应返回true或false,具体取决于您是否要提交表单
通过一个实际的例子,它可能看起来像这样:
function doMyCustomFunction(el, formAction) {
console.info('The element ID is ' + el.id + ' and the action is ' + formAction);
return true;
}
可能重复我对jQuery了解不够:是时候了解更多了;)是否有某种方法可以通过单击表单中的输入按钮来触发此“检查”。当我需要获取选择列表的值时,我是否仍然需要一个表单?如果我将按钮从表单中取出如何?我真的需要有一个表单吗?没有。表单没有任何用途,除非你打算用它向服务器发送数据。
function doMyCustomFunction(el, formAction) {
console.info('The element ID is ' + el.id + ' and the action is ' + formAction);
return true;
}