Javascript 循环通过选定的复选框
在属于同一类的复选框中,我使用这个函数(未完成)循环并设置一个字符串Javascript 循环通过选定的复选框,javascript,jquery,Javascript,Jquery,在属于同一类的复选框中,我使用这个函数(未完成)循环并设置一个字符串 function estados() { var query = "trucades.estat in("; var checks = $('.estate_check:checked'); if (checks.length === 0) { query = "not selected "; } else { //set the message here .
function estados() {
var query = "trucades.estat in(";
var checks = $('.estate_check:checked');
if (checks.length === 0) {
query = "not selected ";
} else {
//set the message here ...but only loops once
}
return query;
}
但是checks只包含一个包含所选复选框的对象,但是如果我尝试llop,它只会循环一次,因为它只包含这个对象假设您需要创建查询,您可以与
.get()
一起使用来创建所选值的数组。然后可以用来创建逗号分隔的字符串
function estados() {
var query = "trucades.estat in(";
var checks = $('.estate_check:checked');
if (checks.length === 0) {
query = "not selected ";
} else {
//Create an array of selected value
var selectedValue = checks.map(function () {
return $(this).val();
}).get();
query += selectedValue.join(',') + ')'
}
return query;
}
这把小提琴可以帮你弄明白:
代码中没有循环。
checks=$('.estate\u check:checked')
将检查classestate\u check
的所有复选框的长度。所以它只会工作一次。而且你的codeloop中没有任何循环,设置一个字符串设置一个字符串为什么?你如何循环?你会这样用“每个”循环吗?我想我们有相同的代码,但我使用的是jQuery1.12,它不适合我
var ckbox = $('.my-checkbox:checked');
var str = "";
ckbox.each(function(){
str += $(this).attr('data-text') + ", ";
});
alert(str);
function estados() {
var query = "trucades.estat in(";
$('.estate_check:checked').each(function( index ) {
const val = $( this ).val()
console.log(index + ': ' + val);
query += val;
});
query += ')';
return query;
}