Javascript 开-关按钮敲除js
我试图实现一个复选框作为开-关按钮,并以此为例,但由于某些原因,这些按钮根本没有出现。下面是我的js文件中的代码Javascript 开-关按钮敲除js,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我试图实现一个复选框作为开-关按钮,并以此为例,但由于某些原因,这些按钮根本没有出现。下面是我的js文件中的代码 self.on = ko.observable(true); (function($) { ko.bindingHandlers.bootstrapSwitchOn = { init: function(element, valueAccessor, allBindingsAccessor, viewModel) { $elem =
self.on = ko.observable(true);
(function($) {
ko.bindingHandlers.bootstrapSwitchOn = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
$elem = $(element);
$(element).bootstrapSwitch();
$(element).bootstrapSwitch('setState', ko.utils.unwrapObservable(valueAccessor())); // Set intial state
$elem.on('switch-change', function(e, data) {
valueAccessor()(data.value);
}); // Update the model when changed.
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
var vStatus = $(element).bootstrapSwitch('state');
var vmStatus = ko.utils.unwrapObservable(valueAccessor());
if (vStatus != vmStatus) {
$(element).bootstrapSwitch('setState', vmStatus);
}
}
};
})(jQuery);
在我的html文件中
<p class="pushBasket">
<span data-bind="text: on() ? 'on' : 'off'"></span>
<span class="pullBasketRight"><input type="checkbox" data-bind="bootstrapSwitchOn: on"/></span>
</p>
在我的html文件中,这个标记位于foreach数据绑定中,因此我想它也可能导致按钮不出现
下面是整个html代码
看起来不错
只需使用$root.on
并删除
希望这能起作用。@KWeiss不明白你的意思,你是说my foreach提供了什么?@KWeiss基本上是一个表,显示数据库中的数据,行的一部分有一个带有此复选框的额外p标记,但是不是来自foreach,它在foreach内部。@kweis我也在foreach外部尝试了代码,它不起作用。您可以将完整代码粘贴到foreach中,并且您在foreach中使用了哪些值的数组?