我有一组自动完成的文本菜单,我试图将它们组合在一起以类似于一年制作模型选择菜单列表的方式工作。您首先填写年份,然后过滤品牌,然后过滤型号。我的字段过滤完美,但我希望禁用和清除缺少按字段填充过滤器的字段。例如,如果年份为空,则品牌型号字段被禁用,或者如果您清除品牌,它也会清除型号字段并将其设置为禁用。
我的想法是将字段分配给一个组,然后将该组作为数组传递到 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 = year, make, model plus forsaleGroup = forsale,forsalebyowner,auto。
最佳答案
您需要创建一个对象,然后使用 bracket notation ( member operator ) 创建动态 key
if(!group.hasOwnProperty(groupId)) {
var obj = {};
obj[groupId] = [];
group = obj;
}
关于Javascript Json Obj 动态数组变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17345093/