加载新页面时jQuery Mobile附加功能不起作用 [英] jQuery Mobile Append not working when loading new page

查看:87
本文介绍了加载新页面时jQuery Mobile附加功能不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在页面加载时使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆