【发布时间】:2016-09-13 14:56:20
【问题描述】:
HTML:
<div>
<div id="filter-drop-down" tabindex="1">
<span data-bind="text:selected_Auth()"></span>
<ul class="dropdown" data-bind="foreach:selectList">
<li><a href="#" data-bind="text:name.toLowerCase(),click:$parent.addToRightList,css:{'selected-filter':$parent.selected_Auth==name}"></a></li>
</ul>
</div>
<div id="filter-drop-down1" data-bind="with:rightList" tabindex="1">
<span data-bind="text:selected_Book.toLowerCase()"></span>
<ul class="dropdown" data-bind="foreach:selectList">
<li><a href="#" data-bind="text:DscName.toLowerCase(),click:$parent.selected_Book.bind($root,DscName),css:{'selected-filter':$root.selected_Book()==DscName}"></a></li>
</ul>
</div>
</div>
JS:
function view_model() {
var self = this;
self.all_consultants = ko.observableArray();
self.selected_Auth = ko.observable("all Author");
self.selected_Book = ko.observable("all books");
self.selectList = ko.observableArray([{
name: "J.K R",
DscName: [
"HP1", "HP2", "HP3"
]
}, {
name: "shakespeare",
DscName: [
"Hamlet", "Othello"
]
}]);
//if (self.auth_header()) {
// get_list_data();
//}
self.rightList = ko.observable();
self.addToRightList = function(list) {
self.rightList(list);
};
}
ko.applyBindings(new view_model());
在第一个列表上需要类似下拉功能的作者选择用书籍填充 2 个列表,如果只有 1 本书,则应自动选择它。
【问题讨论】:
-
嗨,Roy,我尝试使用 Select,它可以正常工作,但无法绑定到 List...
-
您能发布适用于 Select 的代码吗?
-
self.selVDF = ko.observableArray([new SelectMyBook()]);函数 SelectMyBook() { var self = this; self.selectedBook = ko.observableArray([]); self.selectedAuth = ko.observable(); self.selectedAuth.subscribe(function () { self.selectedBook(undefined); },self); }
td>