如何在函数中声明全局变量?
尝试检查:here
foreach()
用于checkbox
。id
未声明,则声明var id
(并将一些数据(id& value)添加到boxval // 这不重要/您可以忽略此)。 (foreach)
。else
)。我尝试使用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,b
和ID_1=&A&B
。
答案 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')