Javascript 单击事件不';在淘汰赛中,每个人都不能在第二场比赛中获胜

Javascript 单击事件不';在淘汰赛中,每个人都不能在第二场比赛中获胜,javascript,knockout.js,Javascript,Knockout.js,为什么我的点击事件在第二个foreach中不起作用 我的html: 我的剧本: var modelCategory = function (id, name) { var self = this; self.changeTopChildren = ko.observable(false); self.name = ko.observable(name); self.id = ko.observable(id); } var modelProduct =

为什么我的点击事件在第二个foreach中不起作用

我的html:


我的剧本:

var modelCategory = function (id, name) {
    var self = this;
    self.changeTopChildren = ko.observable(false);
    self.name = ko.observable(name);
    self.id = ko.observable(id);

}
var modelProduct = function (id, name) {
    var _self = this;
    _self.name = ko.observable(name);
    _self.id = ko.observable(id);
    _self.selectLi = function () {
        alert("li");
        console.log("   selectLi");
    };
}
   var viewModelMenuBody = function () {
    var self = this;
    self.selectLi = function (tag) {
        alert("li");
        console.log("   selectLi");
    };
    self.categoryArray = ko.observableArray();  
    self.items1 = ko.observableArray();
    var temp = null;

    self.mouseOverKnockout = function (arg, e) {
        temp = arg;       
        for (var i = 0; i < self.categoryArray().length; i++) {
            self.categoryArray()[i].changeTopChildren(false);
        }
        arg.changeTopChildren(true);    
          $.getJSON("/Home/getChildrenForMenu", { id: arg.id }, function (rowProduct) {
            self.items1.removeAll();
            for (var total = 0; total < rowProduct.length; total++) {
                var temp = new modelProduct();
                temp.id(rowProduct[total].id);
                temp.name(rowProduct[total].name);
                self.items1.push(temp);
            }
        });
    } 

    self.mouseOutKnockout = function (arg) {

        if (arg!=null) 
     arg.changeTopChildren(false);

        //else
        //    temp.changeTopChildren(false);

    };

    (function () {
        $.getJSON("/Home/getDataForMenu", null, function (rowCategory) {

            for (var total = 0; total < rowCategory.length; total++) {
                var temp = new modelCategory();
                temp.id(rowCategory[total].id);
                temp.name(rowCategory[total].name);
                self.categoryArray.push(temp);
            }
        });
    })();
};

var viewModel1 = new viewModelMenuBody();
ko.applyBindings(viewModel1, document.getElementById('menuBody'));
var modelcegory=函数(id、名称){
var self=这个;
self.changeTopChildren=ko.可观察(假);
self.name=ko.observable(名称);
self.id=ko.可观察(id);
}
var modelProduct=函数(id、名称){
var _self=这个;
_self.name=ko.observable(名称);
_self.id=ko.可观察(id);
_self.selectLi=函数(){
警惕(“li”);
console.log(“selectLi”);
};
}
var viewModelMenuBody=函数(){
var self=这个;
self.selectLi=功能(标签){
警惕(“li”);
console.log(“selectLi”);
};
self.categoryArray=ko.observableArray();
self.items1=ko.observearray();
var-temp=null;
self.mouseOverKnockout=函数(arg,e){
温度=arg;
对于(var i=0;i
所有方法都在根viewmodel对象中定义。因此,
$parent。从嵌套的
foreach
绑定中选择li
调用将不起作用,因为
$parent
上下文引用外部
foreach
的当前项

使用
$root。选择li

更多信息:

对于这样一个小问题,您已经发布了很多代码。请把代码删减到最低限度。如果您告诉我们“不工作”的含义(错误?调试信息?等),以及您迄今为止尝试和研究的内容,也会有所帮助。