Jquery mobile 奇数行为KnockoutJS和jquerymobile复选框
我有一个带有“记住我”复选框的登录页面,都在jQuery Mobile中。我也在使用KnockoutJs 我有一个定义如下的模型:Jquery mobile 奇数行为KnockoutJS和jquerymobile复选框,jquery-mobile,knockout.js,Jquery Mobile,Knockout.js,我有一个带有“记住我”复选框的登录页面,都在jQuery Mobile中。我也在使用KnockoutJs 我有一个定义如下的模型: MOX.Login = function() { var self = this; self.Username = ko.observable(""); self.Password = ko.observable(""); self.IsRememberMe = ko.observable(true); } <label for=
MOX.Login = function()
{
var self = this;
self.Username = ko.observable("");
self.Password = ko.observable("");
self.IsRememberMe = ko.observable(true);
}
<label for="chkRememberLogin" data-bind="text: GetLabel('lblRememberLogin')"></label>
<input type="checkbox" id="chkRememberLogin" data-bind="checked: Login().IsRememberMe" />
在我的viewmodel中,我执行以下操作:
self.Login = ko.observable(new MOX.Login()); //login data
我对这个物体没有别的办法
复选框的html如下所示:
MOX.Login = function()
{
var self = this;
self.Username = ko.observable("");
self.Password = ko.observable("");
self.IsRememberMe = ko.observable(true);
}
<label for="chkRememberLogin" data-bind="text: GetLabel('lblRememberLogin')"></label>
<input type="checkbox" id="chkRememberLogin" data-bind="checked: Login().IsRememberMe" />
我可能认为,由于IsRememberMe属性的默认值设置为true,因此复选框设置为true。当我在具有相同绑定的页面上设置常规复选框时,它被选中。
当我检查该值时,它被设置为true
此外,当我第一次点击复选框时,它保持未选中状态。IsRememberMe的值确实是假的。第二次点击时,该值将更改为true,并且复选框也被选中
如何确保第一次选中复选框
附带问题,当我根据默认值将IsRememberMe设置为false时。初始化后总是这样。为什么会这样?这可能与您的
MOX
名称空间或您未发布的其他代码有关。选中此复选框-此处没有出现您列出的任何问题。另一个要检查的事项是确保您的复选框没有实际渲染,只是没有移动,因此您无法看到它。jquerymobile在复选框上呈现动态元素后需要具有fresh属性。我会将复选框设置为data enhance=“false”,以确保这不存在冲突。您可能需要选中此复选框(因为在使用第三个LIB时,击倒通常需要自定义绑定):@billy Thx,成功了。仍然想知道为什么除了这个复选框,其余的复选框都能正常工作。