0

好的,我想要做的是,在 ajax 中循环数据并将其显示在列表视图中并允许它被点击。每个数据都链接到另一个页面并包含一个 id。在我点击之后,它会将我引导到一个新的 HTML 页面,其 URL 上有一个 id..

例如:htmlName.html?id=1

这是我的代码:

//(first html)
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.css" />  
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>  
<script src="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.js"></script>  
<script>  
$(document).ready(function()
{  
var output = $('#output4');  
$.ajax({  
    url: 'http://localhost/test1.php',  
    type: "GET",   
    dataType: 'jsonp',  
    jsonp: 'jsoncallback',  
    timeout: 5000,  
    success: function(data, status){        
        $.each(data, function(i,item){  
            var email = "<li><a href=\"app2.html?id="+item.lo+"\" data-transition=\"slide\"><h1>"+item.email+"</h1><img src="+item.comment+" /><p>"+item.email+"</p></a></li>";         
            output.append(email);
            output.listview("refresh");});  
    },  
    error: function(){  
        output.text('There was an error loading the data.');
    }});  
});  
</script>

打开的页面有一个 Javascript Alert(id)。我从 url 获取的 id(从上一页发送).. 但我的问题是,当我加载页面时没有出现警报,但是在我重新加载页面后它会出现..

这是代码:

//second html
<script>  
//function to get id from the URL
var params = {};  
if (location.search) {
var parts = location.search.substring(1).split('&');

for (var i = 0; i < parts.length; i++) {
    var nv = parts[i].split('=');
    if (!nv[0]) continue;
    params[nv[0]] = nv[1] || true;
    }
}    
var forIDalert = params.id;  
alert(forIDalert);  
</script>

无论如何,我想知道,当我删除脚本时:

<script src="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.js"></script>

警报功能按预期运行(首次加载或不重新加载页面),但我需要该脚本,因为我正在使用 jquery 手机和 phonegap .. 所以,任何人都知道如何发出警报在我单击第一个 HTML 上的链接后出现,无需重新加载页面?
而且,对不起我的英语不好..谢谢,问候。

4

0 回答 0