2

我有一组自动完成文本菜单,我正试图将它们结合在一起工作,类似于一年制作模型选择菜单列表。您首先填写年份,然后过滤品牌,然后过滤型号。我的字段过滤得很好,但是我希望禁用和清除缺少按字段填充的过滤器的字段。例如,如果年份为空,则 make model 字段被禁用,或者如果您清除 make,它也会清除 model 字段并将其设置为禁用。

我的想法是将字段分配给一个组并将该组作为数组传递给一个 json 对象。例子,

JS 被加载一次,并为每个文本字段调用 init 函数。

spec.group = yearMakeModelGroup

spec.id = fieldId

var group={};

init = function(spec) {
    var groupId = spec.group;

    if(!group.hasOwnProperty(groupId)) {                
        group = {groupId:[]};
    }

    group.groupId.push(spec.id);
};

我不知道如何动态创建数组名称,以便可以将此代码与页面上的其他组一起使用。示例 yearMakeModelGroup = 年份、品牌、型号加上 forsaleGroup = forsale,forsalebyowner,auto。

4

1 回答 1

1

您需要创建一个对象,然后使用括号表示法成员运算符)创建一个动态键

if(!group.hasOwnProperty(groupId)) {     
    var obj = {};
    obj[groupId] = [];
    group = obj;
}
于 2013-06-27T13:56:53.603 回答