因此,我使用Jquery Mobile中的日期选择器输入,并且很难使其正确呈现。我已经包含了JQM团队提供的所有必要文件(http://dev.jtsage.com/jQM-DateBox/#/jQM-DateBox/demos/install.html),并且可以在将其直接添加到静态HTML时进行呈现:

<label for="mydate">Some Date</label>
<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='{"mode": "calbox"}'>

但是,我正在动态地构建一个表单,并动态地添加这一点HTML。除此之外,我所有的其他输入都得到Jquery Mobile样式:
$(form).html(formFields);
var page = document.getElementById('page');
$(page).trigger('create');

formFields是我附加到页面的HTML字符串。
在上面的静态HTML页面中,当页面加载JQM时,似乎是在向代码中添加一堆内容。当我调用create方法时,它似乎没有这样做。有人知道这附近有什么办法吗?提前谢谢。
更新:
因此,在下面发布了有用的注释之后,似乎由于这不是正式的JQM输入,调用“create”方法不会刷新此输入并应用必要的样式。上面发布的HTML正是我用我的字符串生成器创建的。问题在于提神。当页面加载时,会在日期输入HTML中添加一些额外的内容。下面是它在萤火虫中的样子。。。有人经历过吗?
<div class="ui-input-datebox ui-shadow-inset ui-corner-all ui-body-c">
  <input id="mydate" class="ui-input-text ui-body-null ui-body-x" type="text" data-   options="{'mode': 'calbox'}" data-role="datebox" name="mydate">
  <a class="ui-input-clear ui-btn ui-btn-up-c ui-btn-icon-notext ui-btn-corner-all ui-shadow" title="date picker" href="#" data-theme="c" style="vertical-align: middle; float: right;">
     <span class="ui-btn-inner ui-btn-corner-all">
       <span class="ui-btn-text">date picker</span>
       <span class="ui-icon ui-icon-grid ui-icon-shadow"></span>
     </span>
  </a>

最佳答案

好了,伙计们,想清楚了。
结果发现,即使在调用“create”方法之后,它也没有应用样式。所以我转向了一个一直在网上流传的黑客。我基本上只是破坏了整个形状然后重建成这样:

$('#page').page("destroy").page();

Page是表单所在内容窗格的名称。像这样简单的重新加载。希望这能帮助你们中的一些人。。。

10-05 20:34
查看更多