var selected = []
$('#SelectBoxContainer .DDLs :selected').each(function (i, selected)
{
alert($(selected).val());
selected[i] = $(selected).val();
});
我的警报告诉我,它正在经历这个循环,让选择框的值。然而,一旦所有事情都说完了,我的“选择”阵列中就没有任何东西。
var selected = []
$('#SelectBoxContainer .DDLs :selected').each(function (i, selected)
{
alert($(selected).val());
selected[i] = $(selected).val();
});
我的警报告诉我,它正在经历这个循环,让选择框的值。然而,一旦所有事情都说完了,我的“选择”阵列中就没有任何东西。
您的回调函数定义了一个名为selected
的局部变量,该变量隐藏了外部作用域中的selected
变量。 selected[i] =
中的selected
是来自function (i, selected)
的selected
,而不是selected
从var selected
。
重命名这两个变量中的一个以使其工作。
你打开和关闭阵列,然后做无果而一些魔术......
它的晚,但VAR选择= [] $(“#SelectBoxContainer .DDLs:选择”)各< ..code ....> 真的没有结果。
尝试使数组,然后:selected.put($('#SelectBoxContainer))
换句话说,你不必';'在'var selected = []'之后'
您如何期望同时使用名为“selected”的两个变量?改变你的函数的第二个参数的名称,以便它不影你试图写入阵列:
var selected = [];
$('#SelectBoxContainer .DDLs :selected').each(function (i, item)
{
selected[i] = $(item).val();
});
您还可以使用,而不是与指数打扰阵列push
方法:
selected.push($(item).val())
宾果!我没有想过这个! +1 – Reigel 2010-07-29 01:29:50
我甚至没有注意到这一点。我可以看到为什么它现在不起作用。 – chobo2 2010-07-29 04:02:59