我创建了一个js函数,用于切换对象(位于数组中)的属性的布尔值。总结我想要做的事情,我有2个列表。如果布尔属性为false,则另一个列表将显示一个项目(因此为切换功能)双击事件后敲除绑定
我的问题是当我将切换功能绑定到双击事件(触发器正确,通过调试器验证)我似乎无法得到绑定正确(或可能是其另一个问题完全)如果我手动将切换功能与硬编码的“Id”值(确定数组中的哪一项待绑定)绑定能够正常工作,并且该项目出现在第二个列表中。
var TestNWJS = TestNWJS || {};
TestNWJS.QualificationList = (function() {
//private functions
function CreateQualificationModel(allCredentialsList) {
TetsNWJS.QualificationList.ViewModel = {};
TestNWJS.QualificationList.ViewModel.AllCredentials = ko.observableArray(allCredentialsList);
}
function toggleselected(allCredentialsList, id) {
var credential = ko.utils.arrayFirst(allCredentialsList, function (credential) {
var stringToInt = parseInt(id);
return credential.Id === stringToInt;
});
if (credential.Selected == false) {
credential.Selected = true;
}
else {
credential.Selected = false;
}
return credential;
}
//public function
return {
Init: function (allCredentialsList) {
CreateQualificationModel(allCredentialsList);
toggleselected(allCredentialsList, 51); // THIS IS THE HARDCODED TEST, IT WORKS
//THIS IS WHAT I WANT TO WORK CORRECTLY:
$("#allCredentials").live('dblclick', function (e) {
toggleselected(allCredentialsList, this.value);
});
ko.applyBindings(TetsNWJS.QualificationList.ViewModel);
}
}
})();
你可以把这个在小提琴明白了什么是不工作?你也试图从视图模型中添加它,但我会建议创建一个快速自定义绑定处理程序来执行此操作。你还使用哪个版本的jQuery? – 2015-01-09 19:38:11