如何将变量声明为全局变量?有案例foreach?使用Javascript

时间:2016-05-04 07:50:18

标签: javascript

如何在函数中声明全局变量?

尝试检查:here

  1. 我将foreach()用于checkbox
  2. 如果变量id未声明,则声明var id(并将一些数据(id& value)添加到boxval // 这不重要/您可以忽略此)。
  3. 之后再次重复(foreach)
  4. 第二次重复(我希望变量ID已经在第一个代码(No 2)中声明),(因为,id已经声明它已经转到else)。
  5. 我尝试使用alert来确定正在运行的代码流。

    PHP:

    <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">
    
    <input type="button" id="button" />
    

    JS:

    $('#button').bind('click', function() {
    
        var boxval="";
        $("input[class^='box-']").each(function(){
            if($(this).is(':checked'))
            {
                if (typeof window.id == "undefined" || window.id == null)
                {
                    var id = $(this).attr('id');
                    alert('a');
                    boxval += $(this).attr('id') +'=&' + $(this).attr('value');
                }
                else
                {
                    if(id == $(this).attr('id'))
                    {
                        boxval += '&' + $(this).attr('value');
                        alert('b');
                    }
                    else
                    {
                        boxval += $(this).attr('id') +'=&' + $(this).attr('value');
                        alert('c');
                    }
                }
            }
        });
    
        alert(boxval)
    });
    

    尝试检查第一个&amp;如果第二个复选框正确,则会设置为a,bID_1=&A&B

1 个答案:

答案 0 :(得分:0)

如果您使用var而不是说这个变量是本地变量是特定范围。

要创建全局变量,您可以使用window.id = $(this).attr('id');

您的HTML中有重复的ID,这是无效的,jQuery将找不到第二个ID元素。

更好地使用<input type="checkbox" value="A" class="box-1" data-id="ID_1">$('.box-1').data('id')