在jqmobile中组合复选框和列表

时间:2012-08-21 10:22:39

标签: jquery-ui jquery-mobile user-interface

您好我正在尝试使用jqmobile来创建我正在撰写的应用。喜欢内置的样式和功能,但找不到任何东西来涵盖我希望是一个相当普遍的要求。我想要实现的是这样的:

[]对象1>

[]对象2>

[]对象3>

[]对象4>

(N.B。[]重复一个复选框)

单击对象名称旁边的复选框将选中该框以启用“多重编辑”功能

单击对象名称将触发单独的事件以仅编辑该对象

是否内置了任何内容来覆盖这个或者我应该编写/设计自己的元素?

1 个答案:

答案 0 :(得分:0)

从JQuery Mobile 1.2.0开始,我看不到对这种常见UI列表结构的直接支持。但是你可以接近这个:

<ul data-role="listview" data-split-icon="arrow-r" data-split-theme="d">
    <li data-role='fieldcontain'>
        <a href='javascript:void(0);'>
            <label><input type='checkbox'/>Item 1</label>
        </a>
        <a href='#'></a>
    </li>
</ul>

在此处查看: http://jsfiddle.net/x5fJW/2/

我对它的外观并不完全满意。它基本上是几个笨重的按钮和锚点共享一个列表项。但从功能上说,它可以按照我的意愿运作。

对于您想要的功能,您需要将onclick处理程序与复选框,其标签以及li相关联。我不太确定你想要的“多重编辑”功能。

我尝试了其他列表项安排,使它们包含复选框,标签和可点击箭头。在所有情况下,我都想使用一个可以保持主题的JQM箭头。但是在复选框的标签内放置JQM箭头图像(所以我可以正确地浮动它)从未奏效。

JQM的增强过程总是用另一个复选框覆盖我的箭头:-(因此,我不得不回到这种方法。好处是没有任何hackery可以维护(即重新修改)未来的JQM版本。

虽然可以关闭JQM增强功能,但它似乎只适用于页面级别。我无法将其应用于标签元素中的一个span元素。

顺便说一句,我删除了大多数通常围绕复选框的表单相关元素。那是因为,我使用复选框更改来通知我做某事。我没有发布他们的数据。

我很想知道JQuery / JavaScript向导是如何解决这个问题的,使得包含复选框,标签和可点击箭头的更优雅的列表项。