【发布时间】:2015-12-11 10:27:45
【问题描述】:
我是 KnockoutJS 的新手,我用下拉列表完成了简单的事情,填充和使用静态数据,但现在需要动态执行两件事下拉列表
1.想要动态填充下拉列表(比如任何列表),这个列表我们可以从我的控制器中获取。
var InsertVal = function(name, id) {
this.pname = name;
this.pid = id;
};
var Valuess = function() {
$.ajax({
dataType: "json",
url: "getParentCategory.do",
success: function (data) {
for(i=0;i<data.length;i++){
totalval.push(new InsertVal(data[i].parentCategoryName,data[i].parentCategoryId));
}
handledata(totalval);
}
});
};
var handledata= function(totalval){
console.log("!!@#"+totalval);
return totalval;
}
var obj={
parentCategory : ko.observableArray(Valuess()),
chosenParentCategory : ko.observableArray()
};
ko.applyBindings(obj);
<p>
<select data-bind="options: parentCategory,
optionsText: 'pname',
value: chosenParentCategory,
optionsCaption: 'Choose...'">
</select>
</p>
<div data-bind="visible: chosenParentCategory">
You have chosen a Parent Category
<span data-bind="text: chosenParentCategory() ?
chosenParentCategory().pid : '0'"></span>.
</div>
尝试动态填充下拉列表,成功从控制器获取 json 数据但未填充数据。
【问题讨论】:
-
@Java-DK,我已经通过了,但我没有找到这样做的方法,它可能以棘手的方式存在,但我无法通过它
-
StackOverflow 不是一个编码请求平台,如果您的代码有任何问题,我们只能提供帮助。 See what questions you can ask here.
-
填充下拉列表只是填充绑定到
<select>的 observableArray 的问题。
标签: jquery ajax knockout.js drop-down-menu