jQuery Mobile忽略表单元素上的data-role =“none”

我正在动态地将页面注入我的jQuery Mobile应用程序。 一切都很好,除了表单元素。 似乎在注入页面上的表单元素上忽略了data-role =“none”。

None

Market Segments

    &nbsp All

单选按钮呈现为常规单选按钮,尽管有一些棘手的格式。 选择按钮应显示为常规下拉列表,但它将呈现为jQuery Mobile下拉列表。

以下是页面的注入方式:

 var t = results.rows.item(i).body; var n = results.rows.item(i).name; $("#"+n).remove(); $("body").append(t); $("#"+n).appendTo($.mobile.pageContainer); $("#"+n).attr('data-url',$("#"+n).attr("ID")).trigger('create'); 

非注入页面上的表单元素工作正常…任何想法?

默认情况下,jQuery Mobile会自动增强表单元素,如果您想告诉JQM 忽略它们,您可以将data-role="none"属性添加到容器中,但是您还需要设置$.mobile.ignoreContentEnabled = true 。 原因是因为默认情况下JQM不检查data-role="none"属性(以便不必每次都不必执行检查)。

请记住,您需要在mobileinit event设置ignoreContentEnabled

您应该检查是否手动初始化这些表单控件。 由于您正在注入这些控件,因此您也可以调用selectmenu(’refresh’)方法。 只需删除这些调用,一切都应该正常工作。