带有动态变量的javascript关联数组

时间:2014-01-22 16:38:39

标签: javascript checkbox associative-array

我正在尝试在javascript中创建一个关联数组,其中一个数组填充了位于复选框的attr字段中的动态数据 - 称为“path”和“name”。我想这样做,以便每次选中一个复选框时,其attr“path”是一个索引 - 因为有五个可以检查的复选框可以与该特定路径相关联。如果可能的话,我希望数组是这样的,其中“name”attr与路径[“path1”,“name1”,“name2”,“name3”,“name4”,“name5”,“path2”相关联“name1ofpath2”] 我尝试使用对象,但是当我检查复选框时,我只收到一条警告“[对象对象]”.....任何想法?也许我的措辞令人困惑?

    var array = {};
            $(".checkbox").bind('change',function() {

                            var path = $(this).attr("path");
                            var name = $(this).attr("name");
                            array[path] = name; 

1 个答案:

答案 0 :(得分:1)

问题不在于您的代码,而在于alert,在传递对象时会调用其.toString()方法,该方法通常会报告[object Object]。请尝试使用console.dir()

对于您的对象本身,使用{}时所拥有的是一个对象,其属性等同于可用于关联数组的其他语言,即

var obj = {
    path1: name1,
    path2: name2,
    ...
};

它根本不是一个“阵列”。