我有一组DropDownList的值。我的要求是在设置DropDown之前,需要使用以下格式的循环将值存储在javascript变量中:
var categories = [{
"value": 1,
"text": "Keyboard"
},{
"value": 2,
"text": "Mouse"
},{
"value": 3,
"text": "Monitor"
}];
我创建了如下示例:
dataType: "json",
data: { categoryId: CategoryHdId },
success: function (data) {
var categories = [];
for (i = 0; i < data.length; i++) {
case = {
"value": data[i].ddlSubCategoryId,
"text": data[i].SubCategoryName
}
categories.append(case);
}
}
但这给了
Syntax Error
和
Uncaught TypeError: categories.append is not a function
任何人都可以帮助如何在循环中设置它们。
答案 0 :(得分:4)
case
是javascript中的保留字,因此您不能将其用作变量名,请使用其他变量名。还可以使用push()
向数组添加值。
dataType: "json",
data: { categoryId: CategoryHdId },
success: function (data) {
var categories = [];
for (i = 0; i < data.length; i++) {
// case = { reserved word case will throw syntax error
someVar = { //declare as var if you don't want it to be global
"value": data[i].ddlSubCategoryId,
"text": data[i].SubCategoryName
}
categories.push(someVar);
}
}
答案 1 :(得分:2)
试试这个
var categories = [];
for (i = 0; i < data.length; i++) {
categories.push({ "value": data[i].ddlSubCategoryId, "text": data[i].SubCategoryName })
}
答案 2 :(得分:0)
dataType: "json",
data: { categoryId: CategoryHdId },
success: function (data) {
var categories = [];
for (i = 0; i < data.length; i++) {
let temp = {
"value": data[i].ddlSubCategoryId,
"text": data[i].SubCategoryName
}
categories.push(temp);
}
}