【发布时间】:2016-07-03 15:01:52
【问题描述】:
我使用多页模板 (JQM) 并创建了一个包含 2 个页面(Page0 和 Page1)的 html 文件。两个页面都有相同的 selectmenu 元素,该元素是在页面加载期间动态创建的。
由于某种原因,Page1 中的 selectmenu 元素存在一些样式问题(看起来某些 css 样式未正确应用和/或元素未正确增强),而主页中的那个似乎没问题.
请访问以下链接以查看实际问题:
http://jsfiddle.net/dalsword/pdnpyh5h/5/
<div data-role="page" id="first">
<div data-role="header">
<h3>
First Page
<a href='#second' class='ui-btn-right ui-icon-back ui-btn ui-corner-all ui-shadow'>NEXT</a>
</h3>
</div>
<div data-role="content">
<div class='ui-field-contain'>
<label for='g1'>SELECT MENU</label>
<select id='g1' data-native-menu='false'>
</select>
</div>
</div>
</div>
<div data-role="page" id="second">
<div data-role="header">
<h3>
First Page
</h3>
</div>
<div data-role="content">
<div class='ui-field-contain'>
<label for='g2'>SELECT MENU</label>
<select id='g2' data-native-menu='false'>
</select>
</div>
</div>
</div>
$(document).ready(function(e) {
var content = "<option value='1'>element 1 </option>";
content += "<option value='2'>element 2 </option>";
content += "<option value='3'>element 3 </option>";
content += "<option value='4'>element 4 </option>";
content += "<option value='5'>element 5 </option>";
var mySelect = $('#g1');
mySelect.empty().append(content);
mySelect.selectmenu().selectmenu('refresh');
var mySelect = $('#g2');
mySelect.empty().append(content);
mySelect.selectmenu().selectmenu('refresh');
});
我用:
- jquery mobile 1.4.5
- jQuery 1.11.1
有什么建议吗?
【问题讨论】:
-
您可以描述问题以及您想要更好地实现的目标。
-
我认为您需要关心将代码插入 DOM 的位置。看看这个:jsfiddle.net/pdnpyh5h/6。另请参阅此线程中的答案:stackoverflow.com/questions/15800121/…
-
因为你不应该在静态元素上使用
.selectmenu(),所以你不需要重新创建它们jsfiddle.net/pdnpyh5h/7加上不要使用.ready(),使用pagecreate。
标签: jquery-mobile jquery-mobile-select