鉴于此:
var formItems = [
$("div.class1.class2:visible:eq(0) div.class3 input:eq(0)"),
$("div.class1.class2:visible:eq(0) div.class3 input:eq(1)"),
$("div.class1.class2:visible:eq(0) div.class3 input:eq(2)"),
$("div.class1.class2:visible:eq(0) div.class3 input:eq(3)"),
];
如果有任何方法可以简化这一点:
var values = getValues(); // values.length is always equal to formItem.length
for (var i = 0; i < values.length; i++) {
if (someCondition()) {
$("div.class1.class2:visible:eq(0) div.class3 input:eq(0)").val(values[i].abc);
$("div.class1.class2:visible:eq(0) div.class3 input:eq(1)").val(values[i].cde);
$("div.class1.class2:visible:eq(0) div.class3 input:eq(2)").val(values[i].abcdf);
$("div.class1.class2:visible:eq(0) div.class3 input:eq(3)").val(values[i].zyz);
}
答案 0 :(得分:1)
我不确定你想要什么,但也许是这样的?
var items = [
{ input: "div.class1.class2:visible:eq(0) div.class3 input:eq(0)", value: "abc" },
{ input: "div.class1.class2:visible:eq(0) div.class3 input:eq(1)", value: "cde" },
{ input: "div.class1.class2:visible:eq(0) div.class3 input:eq(2)", value: "abcdf" },
{ input: "div.class1.class2:visible:eq(0) div.class3 input:eq(3)", value: "zyz" }
];
var values = getValues();
for (var i = 0; i < values.length; i++) {
if(this value is the right one) {
for(var j in items) {
$(item[j].input).val(values[i][items[j].value);
}
}
}
编辑13:15
如果这不是简化你的意思,那么你必须详细说明。
var formItems = [
$("div.class1.class2:visible:eq(0) div.class3 input:eq(0)"),
$("div.class1.class2:visible:eq(0) div.class3 input:eq(1)"),
$("div.class1.class2:visible:eq(0) div.class3 input:eq(2)"),
$("div.class1.class2:visible:eq(0) div.class3 input:eq(3)"),
];
var formValues = ["abc", "cde", "abcdf", "zyz"];
var values = getValues(); // values.length is always equal to formItem.length
for (var i = 0; i < values.length; i++) {
if(this value is the right one) {
for(var j in formItems) {
formItems[j].val(values[i][formValues[j]);
}
break;
}
}