【问题标题】:Refreshing a checkbox list in jQuery Mobile刷新 jQuery Mobile 中的复选框列表
【发布时间】:2012-02-10 09:43:18
【问题描述】:

我有一个有序的复选框列表,我希望能够在其中更改顺序。列表定义为:

 <fieldset id="myList" data-role="controlgroup" data-bind='foreach : Articles'>
                <legend></legend>
                <input data-theme="c" type="checkbox" data-role="controlgroup" data-bind="attr: { 'data-id': Id(), name: 'checkbox-' + Id(), id: 'checkbox-' + Id() }" />
                <label data-theme="c" data-bind="text: Name(), attr: { for: 'checkbox-' + Id() }"></label>
 </fieldset>

当我的视图模型上的文章属性中的顺序发生变化时,我想刷新复选框列表 UI。关于我如何做到这一点的任何想法?我试过 .controlgroup('refresh',true) 没有运气。

【问题讨论】:

  • 你有没有想过这个问题?我遇到了同样的事情。
  • @ScottR 我制作了一个自定义 mobileForeach 绑定处理程序,如此处所述markmail.org/message/yipmzzwkqtflfqd3

标签: jquery-mobile knockout.js


【解决方案1】:

复选框 jQM 文档:

试试

.checkboxradio("refresh"); 

【讨论】:

    【解决方案2】:

    这直接取自 jquery mobile 的文档:

    刷新表单元素 在 jQuery Mobile 中,一些增强的表单控件是简单的样式(输入),但其他的是自定义控件(选择、滑块),它们是从本机控件构建并与本机控件保持同步的。要使用 JavaScript 以编程方式更新表单控件,首先操作本机控件,然后使用刷新方法告诉增强控件更新自身以匹配新状态。下面是一些如何更新常用表单控件,然后调用刷新方法的例子:

                  Checkboxes:
                  $("input[type='checkbox']").prop("checked",true).checkboxradio("refresh");
    
                  Radios:
    
                  $("input[type='radio']").prop("checked",true).checkboxradio("refresh");
                   Selects:
    
                  var myselect = $("#selectfoo");
                  myselect[0].selectedIndex = 3;
                  myselect.selectmenu("refresh")
    

    【讨论】:

      【解决方案3】:

      看看这是否有帮助:

      我不久前将它添加到 JQM 论坛。这是一个更完整的 CSS 以获得更好的项目控制。这在普通文档中是找不到的。

      http://forum.jquery.com/topic/css-code-to-help-control-entire-button-in-a-jquery-mobile-theme

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-17
        • 2012-10-26
        • 2011-11-01
        • 2013-07-10
        相关资源
        最近更新 更多