Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 开-关按钮敲除js_Javascript_Jquery_Knockout.js - Fatal编程技术网

Javascript 开-关按钮敲除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 =

我试图实现一个复选框作为开-关按钮,并以此为例,但由于某些原因,这些按钮根本没有出现。下面是我的js文件中的代码

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中使用了哪些值的数组?