代码之家  ›  专栏  ›  技术社区  ›  chobo2

我错过什么了吗?我的值不会存储到数组中

  •  0
  • chobo2  · 技术社区  · 15 年前

    我有这个

     var selected = []
            $('#SelectBoxContainer .DDLs :selected').each(function (i, selected)
            {
                alert($(selected).val());
                selected[i] = $(selected).val();
            });
    

    3 回复  |  直到 15 年前
        1
  •  5
  •   deceze    15 年前

    回调定义了一个名为 selected ,隐藏了 外部范围中的变量。这个 selected[i] = function (i, selected) 挑选出来的 var selected .

    重命名两个变量中的一个使其工作。

        2
  •  0
  •   fazo    15 年前

    你打开和关闭阵列,然后做一些魔术没有结果。。。

    很晚了,但是var selected=[]$('#SelectBoxContainer.DDLs:selected')。每个<。。代码….> 真的没有结果。

    换句话说,你没有';'在“var selected=[]”之后

        3
  •  0
  •   hobbs    15 年前

    您希望如何同时处理两个名为“selected”的变量?更改函数的第二个参数的名称,使其不影响要写入的数组:

    var selected = [];
    $('#SelectBoxContainer .DDLs :selected').each(function (i, item)
    {
        selected[i] = $(item).val();
    });
    

    也可以使用数组 push 方法,而不是麻烦与指数:

    selected.push( $(item).val() )