加载新页面时jQuery Mobile附加功能不起作用 [英] jQuery Mobile Append not working when loading new page
问题描述
我正在尝试在页面加载时使用Javascript将数据加载到Div中。我正在使用jQuery mobile(我是新手)。使用普通的href来调用页面,我假设它被JQM劫持到Ajax。
但是我的Javascript似乎表现得有些奇怪,所有的脚本运行(我检查过)使用警报)但附加功能似乎对页面没有任何影响。我尝试了各种各样的功能: - pagecreate,pagebeforeshow,document.ready。
请尽快帮助。
继承我的代码(仅限相关部分):
< 正文 >
< div data-role = page id = page >
< div data-role = < SP class =code-keyword>已删除 style = padding:0 数据主题 = k >
< ul class = rig columns-3 style = margin:0; padding-removed0; padding-removed8px; padding-removed20vw < span class =code-attribute> id = D rinkGridView >
<! - < span class =code-keyword> < li>
< img src =images / logo.png/>
< h3>图片标题< / h3>
< p> Lorem ipsum dolor sit amet,consectetur adipisicing elit ...< / p>
< / li> - >
< / ul >
< / div > <! - / content - >
< script type = text / javascript >
// $(document).delegate(#page,pageinit,function(){
var global_id;
var global_data;
var fields = [];
$ .ajax({
type: POST ,
url: http://192.168.1.120/yiibootstrap_old/index.php/userregistration/makedrink ,
缓存: false ,
成功:功能(数据)
{
var obj = $ .parseJSON(data);
$ .each(obj, function ()
{
fields.push({id: this [' id'],name: this [' name'],image: this [< span class =code-string>' image'],描述: this [' description']});
});
var count = fields.length;
count1 = parseInt (count);
for ( var r = 0 ; r< count1; r ++)
{
$(' #DrinkGridView')。append(' < a id =inlinehref = #data>< li id =' + fields [r] [' id'] + ' >< img src =http://192.168.1.120/yiibootstrap_old/uploads/' + fields [r] [' image'] + ' />< h3> ' + fields [r] [ ' name'] + ' < / h3>< p id =sss>' + fields [r] [' 描述'] + ' < / p> ; < / li>< / a>')。children()。last()。trigger( 创建跨度>);
// 此附件未显示结果!!
}
});
// });
< / script >
< / div > ; <! - / page - >
< / body >
(document).delegate(#page,pageinit,function(){
var global_id;
var global_data;
var fields = [];
.ajax的( {
类型: POST,
url: http://192.168.1.120/yiibootstrap_old/index.php/userregistration/makedrink,
cache:< span class =code-keyword> false ,
成功:功能(数据)
{
var obj =
.parseJSON(data);
I am trying to Load data into a Div using Javascript when the page loads. I'm using jQuery mobile (i'm new to this). the page is called using normal href, which i assume gets hijacked into Ajax by JQM.
but my Javascript seems to behave somewhat strangely, all the script runs ( i checked that using alerts) but the append function doesnt seem to have any effect on the Page. I've tried all sorts of fuctions :- pagecreate, pagebeforeshow, document.ready.
Please help ASAP.
Heres my code (only relevant parts) :
<body>
<div data-role="page" id="page">
<div data-role="removed" style="padding:0" data-theme="k">
<ul class="rig columns-3" style="margin:0;padding-removed0;padding-removed8px;padding-removed20vw" id="DrinkGridView">
<!-- <li>
<img src="images/logo.png" />
<h3>Image Title</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
</li> -->
</ul>
</div><!-- /content -->
<script type="text/javascript">
//$( document ).delegate("#page", "pageinit", function() {
var global_id;
var global_data;
var fields = [];
$.ajax({
type: "POST",
url: "http://192.168.1.120/yiibootstrap_old/index.php/userregistration/makedrink",
cache: false,
success: function(data)
{
var obj = $.parseJSON(data);
$.each(obj, function()
{
fields.push({id:this['id'],name:this['name'],image:this['image'],Description:this['description']});
});
var count=fields.length;
count1=parseInt(count);
for(var r = 0; r < count1; r++)
{
$('#DrinkGridView').append('<a id="inline" href=#data><li id="'+fields[r]['id']+'"> <img src="http://192.168.1.120/yiibootstrap_old/uploads/'+fields[r]['image']+'"/> <h3>'+fields[r]['name']+'</h3> <p id="sss">'+fields[r]['Description']+'</p> </li></a>').children().last().trigger("create");
// THIS APPEND IS NOT SHOWING RESULT !!
}
});
//});
</script>
</div><!-- /page -->
</body>
( document ).delegate("#page", "pageinit", function() { var global_id; var global_data; var fields = [];
.ajax({ type: "POST", url: "http://192.168.1.120/yiibootstrap_old/index.php/userregistration/makedrink", cache: false, success: function(data) { var obj =
.parseJSON(data);
这篇关于加载新页面时jQuery Mobile附加功能不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!