繁体   English   中英

“Uncaught TypeError:无法读取属性'apply'of undefined”使用Bootstrap-Switch Jquery

[英]“Uncaught TypeError: Cannot read property 'apply' of undefined” Using Bootstrap-Switch Jquery

我正在使用: http//www.bootstrap-switch.org/并收到上述错误。 基本上我正在尝试这样做,以便当用户开始在表单字段中输入时,切换从“关闭”切换到“打开”。

HTML:

 <div class="row">

    <div class="col-sm-2 pull-right toggle">
      <input name="assessment[answer][tracking]" type="hidden" value="0" /><input class="trackable" data-on-text="Yes" data-off-text="No" data-on-color="success" type="checkbox" value="1" name="assessment[answer][tracking]" id="assessment_answer_tracking" />
    </div>

    <div class="col-sm-10 question">
        <textarea class="form-control" name="assessment[answer][content]" id="assessment_answer_content">
        </textarea>
     </div>

  </div>

JS:

<script>

  $("[name='my-checkbox']").bootstrapSwitch();
  $(".trackable").bootstrapSwitch();

  $('.form-control').on("click paste", function(event){
         $("[name='my-checkbox']").bootstrapSwitch('setState', true);
   });

</script>

有任何想法吗?

编辑 - Callstack:

Uncaught TypeError: Cannot read property 'apply' of undefined
  (anonymous function) @ bootstrap-switch-174a86fa717c568c8ba0a257ad07ce25.js?body=1:682
  jQuery.extend.each @ jquery-42fea4da63227b267ff49e07abf47db0.js?body=1:385
  jQuery.fn.jQuery.each @ jquery-42fea4da63227b267ff49e07abf47db0.js?body=1:137
  $.fn.bootstrapSwitch @ bootstrap-switch-174a86fa717c568c8ba0a257ad07ce25.js?body=1:674
  (anonymous function) @ new?utf8=✓&assessment[patient_id]=1&assessment[user_id]=1&assessment[template_id]=2&commit=Create+A…:1114
  jQuery.event.dispatch @ jquery-42fea4da63227b267ff49e07abf47db0.js?body=1:4666
  elemData.handle @ jquery-42fea4da63227b267ff49e07abf47db0.js?body=1:4334

我也有同样的问题。 似乎引导开关有一个错误。 如果您只想将其从“关闭”切换为“打开”,则可以将其应用于您的代码:

$('.form-control').on("click paste", function(event){
     $("[name='my-checkbox']").each( function(){
         if ( ! $(this).bootstrapSwitch('state')) { //check if is not checked
              $(this).bootstrapSwitch('toggleState'); //change the checkbox state
         }
     });
});

方法setState似乎有问题,然后如果你检查每个复选框的状态,然后在任何条件下切换它,你可以得到相同的结果。

要将其切换为关闭,只需删除否定条件“!”。 这个解决方案对我有用。

尝试这个

$("[name='my-checkbox']").bootstrapSwitch('state', true);

确保在Bootstrap切换之前包含Jquery和Bootstrap库。

就我而言,我的HTML中存在v3作为库,但API被引用到v2。 您可能希望检查正在使用的版本并查找正确的文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM