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

Jquery mobile 如何使用jquery mobile通过API创建单选按钮水平列表,jquery-mobile,Jquery Mobile,我一直在尝试创建一个水平单选按钮水平列表,但不知何故,我没有得到与使用data-*属性时相同的视觉效果 如果我使用代码,我会得到方形按钮,而使用属性,我会得到一个漂亮的圆角工具栏 以下是我用于创建按钮列表的代码: $(element).controlgroup({ mini: true, type: "horizontal" }); 应该与我使用的data-*属性相同: <fieldset data-role="controlgroup" data-type="horizontal" d

我一直在尝试创建一个水平单选按钮水平列表,但不知何故,我没有得到与使用data-*属性时相同的视觉效果

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

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

$(element).controlgroup({ mini: true, type: "horizontal" });
应该与我使用的data-*属性相同:

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

我已经发布了一个JSFIDLE来显示结果

有人能解释一下这种奇怪的行为吗? 谢谢
Simone

要使它们看起来一样,请尝试以下方法:

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

现在,为什么会这样

我认为jQueryMobile实际上并不是基于jQueryUI构建的,尽管它目前非常接近。jQuery mobile使用这些数据-**属性来选择每个标记的角色。当元素添加到html中时,jqm读取内容,并基于这些数据角色属性中的内容,用自己的内容装饰/替换/当前内容。这更多的是关于如何处理元素以使其看起来如何

另一方面,当你打电话时

$("#mycontrolbox").controlgroup();
这确实创建了一个jQuery组件,允许您使用该组件的方法。等
这接近于从脚本的角度来看组件的行为。这个没有,但是,将数据角色属性添加到元素本身。

Thx,工作正常,即使在我看来它更像一个bug,因为这样做我们只是再次添加了controlgroup数据角色属性,可能jquerymobile会重新处理它。我同意,对我来说,它确实像一个bug或是一些未完成的东西。