Javascript:function bind.click&对于每个复选框

时间:2016-05-04 04:00:03

标签: javascript function foreach

我有一些组合框,每个组合框都有价值,并且分组和组合。 ID

<input type="checkbox" value="A" class="box-1" id="ID_1">
<input type="checkbox" value="B" class="box-1" id="ID_1">
<input type="checkbox" value="C" class="box-2" id="ID_2"> 
<input type="checkbox" value="D" class="box-2" id="ID_2">

如果用户单击按钮,则选中每个框,如果选中此选项,则存储值&amp; ID变为。

编辑:

JS:

$('#button').bind('click', function() {

var box = '';
var p =0;
var count = document.getElementById("count").value; // for count total class checkbox 

for(d=1; d <= count; d++){

    p = 0;
    $('.box-' + d).each(function(item){ // each box-1/2/3
        if(this.checked){
            if(p == 0)
            {
                var name = this.value.replace(/\s/g, '');
                box += '&' + ($(this).attr('id')) + '=' + '&' + encodeURIComponent(name).toLowerCase());
                p+=1;
                alert(box);
            }
            else
            {
                var href = ($(this).attr('id')) + '=';
                var name_2 = this.value.replace(/\s/g, '');
                box += href + '&' + encodeURIComponent(name_2).toLowerCase());
                p+=1;
            }       
        }
    });
}

alert(box);
//location = url;
});

示例案例: checked组合框为A & D 我期望的是&ID_1=&AID_2=&D(这是不同的ID),如果ID = &ID_1=&A&D

当我尝试提醒它时,它什么都不显示(&#39;&#39;),但当我在里面尝试提示(框)时,如果(p == 0)它有结果{{ 1}}和1&ID_1=A

尝试检查此here

2 个答案:

答案 0 :(得分:2)

 change your code into like this

    $('#button').bind('click', function() {

    var boxval="";
    //&ID_1=&AID_2=&D
    $("input[class^='box-']").each(function(){

    if($(this).is(':checked'))
    {

    boxval += $(this).attr('id') +'=&' + $(this).attr('value');
    }
    });

    if(boxval !='')
    alert(boxval)
    else
    alert("nothing will selected");

    });




 below is the working fiddle

https://jsfiddle.net/17hxsa9r/

答案 1 :(得分:0)

您已在代码中声明var box = ''; 两次

$('.box-' + d).each(function(box){ // each box-1/2/3

box

each()内声明的box会隐藏外部connect(),因此其值不会更改。

您需要以不同方式命名其中一个。