Javascript 获取所有选中的复选框,并在数组中添加它们的名称和值
我有很大的表格,主要是下拉列表和复选框。复选框是动态创建的,所以在创建之前我不知道它们的id。我使用下拉onChange事件动态创建它们 如何在表单中循环并获取所有选中的复选框,即它们的id和值?我只需要为选中的复选框执行此操作。所有复选框共享相同的名称,即:categoriesfilters[]。目前,我在调用javascript函数的复选框上有一个单击事件 代码如下:Javascript 获取所有选中的复选框,并在数组中添加它们的名称和值,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有很大的表格,主要是下拉列表和复选框。复选框是动态创建的,所以在创建之前我不知道它们的id。我使用下拉onChange事件动态创建它们 如何在表单中循环并获取所有选中的复选框,即它们的id和值?我只需要为选中的复选框执行此操作。所有复选框共享相同的名称,即:categoriesfilters[]。目前,我在调用javascript函数的复选框上有一个单击事件 代码如下: function update_number_of_adds_found(field_dropdown,selected_v
function update_number_of_adds_found(field_dropdown,selected_value) {
selected_value="";
var addtypeid = $("#addtypeid").val();
// trying to store the values of the checkboxes
$(this).find("input[type=checkbox]:checked").each(
function() {
var id = $(this).attr('id');
var value = $(this).val(); // or maybe attr('value');
// the data is stored, do whatever you want with it.
alert(value);
}
);
var selected_value = {
addtypeid: addtypeid,
// need to add the ids and the values here as well
};
var url = "<?php echo site_url('search/findNumberOfAdds'); ?>";
$.post(url, selected_value, function(r){
if(r) {
$('#totalNumOfAdds').empty();
$("#totalNumOfAdds").append(r.result);
} else {
// alert(selected_value);
}
}, 'json')
}
函数更新\u的数量\u添加找到的\u(字段\u下拉列表,选定的\u值){
所选_值=”;
var addtypeid=$(“#addtypeid”).val();
//尝试存储复选框的值
$(this).find(“input[type=checkbox]:checked”)。每个(
函数(){
var id=$(this.attr('id');
var value=$(this.val();//或者attr('value');
//数据已存储,您可以对其执行任何操作。
警报(值);
}
);
所选变量\u值={
addtypeid:addtypeid,
//还需要在此处添加ID和值
};
var url=“”;
$.post(url、选定值、函数(r){
if(r){
$('#totalNumOfAdds').empty();
$(“#totalNumOfAdds”).append(r.result);
}否则{
//警报(所选的_值);
}
}(“json”)
}
尊敬的约翰,试试这个:
$('form').submit(function(){
$(this).find("input[type=checkbox]:checked").each(
function() {
var id = $(this).attr('id');
var value = $(this).val(); // or maybe attr('value');
// the data is stored, do whatever you want with it.
}
);
});
我想您应该在表单提交时检查这一点。是否要使用Jquery
var arr = [];
$('input[name^="categoriesfilters"]:checked').each(function() {
var obj = {
id: $(this).attr('id');
value: $(this).val();
};
arr.push(obj);
});
console.log(arr); // show us the array of objects
在每个复选框中添加一个类,即“class_chk”
通过上述方法,您可以获得所有选中的复选框id和值
谢谢..试试这个:
var categories = [];
$("input[name='categoriesfilters[]']:checked").each(
function() {
var id = $(this).attr("id");
var value = $(this).val();
categories[categories.length] = {id : value};
}
);
console.log(categories);
$.post(url, categories, function(r){
…显示您当前的代码…嗨,我刚刚更新了我的问题..您的意思是
$(this).val()
?是的,谢谢,我总是混淆this.value和$(this).val();您的解决方案非常有效。我现在如何更新变量var selected_值(请参阅问题中的代码。仍在努力更新我的var selected_值..你能帮忙吗?好的,我编辑了我的帖子,试用一下。不需要所选_值变量。实际上我有…我正在发送其他值,所以我想将类别添加到所选_值变量中
var categories = [];
$("input[name='categoriesfilters[]']:checked").each(
function() {
var id = $(this).attr("id");
var value = $(this).val();
categories[categories.length] = {id : value};
}
);
console.log(categories);
$.post(url, categories, function(r){