【问题标题】:jQuery Mobile checkbox refresh not workingjQuery Mobile 复选框刷新不起作用
【发布时间】:2012-11-15 13:40:56
【问题描述】:

我正在尝试使用以下代码更改我的 jQuery Mobile 复选框的状态:

$('#_inputcb_Q801').prop('checked', false);

我还在 jQuery Mobile 上找到了以下解决方案:

$('#_inputcb_Q801').prop('checked', false).checkboxradio('refresh');

但它给出了这个错误:

运行时错误 Microsoft JScript:无法在初始化之前调用 checkboxradio 上的方法;试图调用方法“刷新”

我该如何解决这个问题?

【问题讨论】:

  • 错误消息似乎很能说明问题。很可能在插件绑定到元素$('#_inputcb_Q801').checkbox() 之前加载了类似调用刷新的内容。只需确保在元素上初始化插件之前没有调用刷新。
  • 我发现这个方法对我有用:stackoverflow.com/questions/17027566/…

标签: jquery checkbox


【解决方案1】:

试试看。

  • 复选框

    $('.ui-checkbox input').attr('checked', false).checkboxradio('refresh');

  • 选择框

    $('.ui-select select').val('').selectmenu('refresh');

【讨论】:

    【解决方案2】:

    找到了解决方案,我把它贴在下面可能对某人有帮助:

      $('#_bQ801').click(function(){
            $.mobile.changePage('#Question_09_01', 'slide', false, false);
            $('#_inputcb_Q901').attr('checked', false);
            $('#_inputcb_Q901').checkboxradio('refresh');}
    

    【讨论】:

    • 改进:去掉click-handler,去掉$.mobile...只需要最后两条语句。
    【解决方案3】:

    试试这个

    $('#_inputcb_Q801').attr('checked', false);
    

    【讨论】:

    • 感谢您的回复,它可以工作,但它不会更新用户视图,在代码中它未被选中,但用户仍然看到复选框被选中。
    • 我认为它也会更新视图。试试 $('#_inputcb_Q801').change();
    • 这个解决方案的问题是它确实更新了底层的复选框,但是正如 user1652050 提到的,它没有更新由 jQuery mobile 制作的增强代码。你也必须更新它。
    猜你喜欢
    • 2012-03-10
    • 1970-01-01
    • 2012-02-10
    • 2015-05-17
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    相关资源
    最近更新 更多