如何使用jquery mobile通过API创建单选按钮水平列表

时间:2013-08-06 07:54:10

标签: jquery-mobile

我一直在尝试创建一个水平的radiobutton水平列表,但不知何故,我得到的结果与使用data- *属性时的结果相同。

如果我使用代码执行此操作,我会得到方形按钮,而使用属性时,我会得到一个漂亮的圆角工具栏。

以下是我用于创建按钮列表的代码:

$(element).controlgroup({ mini: true, type: "horizontal" });

应该与我使用data- *属性的那个相同:

<fieldset data-role="controlgroup" data-type="horizontal" data-mini="true">

我发布了一个jsfiddle来显示结果

http://jsfiddle.net/simonech/zeDt4/3/

有人可以对这种奇怪的行为嗤之以鼻吗? 谢谢 西蒙

1 个答案:

答案 0 :(得分:0)

要使它们看起来一样,试试这个:

$("#mycontrolbox").controlgroup({ mini: true, type: "horizontal"});
$("#mycontrolbox").attr("data-role", "controlgroup");

更新了jsFiddle - http://jsfiddle.net/zeDt4/4/

现在,为什么会这样。

我认为jQuery mobile实际上并不是建立在jQuery UI上,即使它目前非常接近。 jQuery mobile正在使用这些数据 - **属性来选择每个标签的角色。当元素添加到html时,jqm读取内容并根据这些数据角色属性中的内容,它用自己的内容装饰/替换/当前内容。这更多的是关于元素的处理方式。

另一方面,当你打电话

$("#mycontrolbox").controlgroup();

这会创建一个jQuery组件,允许您使用该组件的方法。等等 从脚本的角度来看,这与组件的行为方式非常接近。但将数据角色属性添加到元素本身。