我创建一个网上数据库驱动的离线网络应用针对iOS设备。我试图使用jQuery Mobile的,但我在创造各种形式的问题。

在形式选项从数据库查询服用,因此它们被插入到页面已经加载之后,因此,“jQuery的Mobilification”不会发生。以通过源咋一看,似乎有不被调用到这个任何明显的方式在这个阶段(当然这是一个alpha版本,我认为这将是一个相当普遍的要求,所以我希望它将会来)。是否有某种解决方法我可以把这样做呢?我特别感兴趣的单选按钮,复选框和选择列表。

有帮助吗?

解决方案

这是瞎搞在无证内部,但以下为我工作:

$("#some-div").load("/html/fragment/", 
                    function() { 
                      $(this).find("input").customTextInput();  
                    });

有用于按钮等同的方法,复选框等。

有在 HTTP看看_enchanceControls [原文如此]方法://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.js

更新1.0Alpha2 :作为可以与图书馆的内部玩耍时预期的,这不再是最新版本的作品。更改customTextInput()textinput()修复它有点,但主题并不完全适用于某些原因。我们被警告...

其他提示

<强>更新

的Beta2具有create事件。当β2得到释放,我会更新我的常见问题。见 http://jquerymobile.com/blog/ 2011/07 /第22 / jquery的移动队更新周的七月-18 /

更新的常见问题: http://jquerymobiledictionary.pl/faq.html


作为CaffeineFueled提出 - .page()是使JQM工作用的任何部分的方式HTML

.page()只能进行一次一个元素调用。随你添加到页面的包装元素。它应该处理一切。

在当前选择的答案是略微过时。使用“刷新”,而不是“页”,用于造型动态添加内容(列表或表格)。

  

如果您将项目添加到一个列表视图,你会   需要调用刷新()方法   它更新的款式和创建任何   所添加的嵌套列表。对于   例如,$('ul').listview('refresh');

通过 jQuery Mobile的文档,1.0.4a

在您的AJAX调用完成并插入表单元素尝试调用:

$("#the-page-id").page();

相信jquery的移动团队将增加对各种UI元素.REFRESH()方法在未来来解决这个问题。

是的问题是像你描述。当文档准备好了“动员”被激发。但是,由于您的离线数据库查询是异步的,其结束的document.ready被触发后。因此,DOM在后面的过程中更新,并没有添加到所有的div和列表项额外的CSS。

我想你将不得不改变移动JS不要在文件准备运行的来源,但是当你告诉它运行运行。然后,你就必须调用该函数在数据库中的回调。

像看起来是目前唯一的选择。

传统我用jqtouch现在煎茶。我还没有与jQuery移动多播放。

另外 - 你可以用它必要的CSS样式查询它的数据库后,写出你的HTML。如果你使用Firebug插件的Firefox,你可以看到什么款式/类应用越来越动员运行时。你可以只写出来使用这些公约的HTML。不理想,但会的工作。

naugtur是正确的,你必须调用。第(),您添加到DOM任何元素,那么它的作品了很好的:

var el = $('<input type="text"/>')
el.page();
$('#something').append(el);

这个工作对我来说(jquerymobile1.7.0):

$('#formular').append('<div data-role="fieldcontain" class="ui-hide-label">' +
'<label for="name" class="ui-hidden-accessible">Name:</label>' +
'<input type="text" name="name" size="25" id="name" placeholder="Name"/>' +
'</div>');  
$('#name').textinput();

目前有所谓的插件函数对所有类型的元素形式的元素(例如滑块,的TextInput等)来创建它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top