循环选中复选框

时间:2018-02-02 10:14:54

标签: javascript jquery

在同一个类的相关复选框中,我正在使用此函数(未完成)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,它只循环一次,因为只包含这个对象

3 个答案:

答案 0 :(得分:1)

var ckbox = $('.my-checkbox:checked');

var str = "";
ckbox.each(function(){
    str += $(this).attr('data-text') + ", ";
});
alert(str);
  

这个小提琴可以帮助你解决这个问题:

JSFiddle

答案 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;
}