在同一个类的相关复选框中,我正在使用此函数(未完成)tho循环并设置字符串
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;
}
但是检查只包含一个包含所选复选框的对象,但如果我尝试llop,它只循环一次,因为只包含这个对象
答案 0 :(得分:1)
var ckbox = $('.my-checkbox:checked');
var str = "";
ckbox.each(function(){
str += $(this).attr('data-text') + ", ";
});
alert(str);
这个小提琴可以帮助你解决这个问题:
答案 1 :(得分:0)
假设您需要创建查询,您可以使用.map()
和.get()
来创建所选值的数组。然后Array.join()
可用于创建逗号分隔的字符串。
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;
}
答案 2 :(得分:0)
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;
}