2013-02-11 44 views
-1

即时通讯使用jQuery手机,我有一个从javascript生成的项目列表,它调用一个连接到mysql数据库并将其输出到JSON数组的服务器端php脚本。它完美的例子如下:从动态生成的数据创建链接

$(document).ready(function(){ 
var url="http://www.mysite.com/json.php"; 
$.getJSON(url,function(json){ 
var output='<ul data-role="listview">'; 
$.each(json.menu,function(key,val) { 
    output+='<li>'; 
    output+= '<a href="#menuitem" onclick="showItem(' + val.menu_title + ')">'; 
    output+='<h3>' + val.menu_title + '</h3>'; 
    output+='<img src="' +val.menu_img +'" />'; 
    output+='<p>' +val.menu_desc + '</p>'; 
    output+= '</a>'; 
    output+='</li>'; 
}); 
output+='</ul>'; 
$('#menulist').html(output); 
}); 
}) 

我需要的是一个showItem功能,所以当我点击列表中的一个项目查看它也会将此信息传递给详细说明了单个项目动态创建的页面。希望有一个简单的答案,我已经尝试了一些不同的东西,但都没有工作。任何帮助将不胜感激。

+0

那么你的意思是,动态添加元素单击功能不触发? – Ohgodwhy 2013-02-11 05:32:46

+0

我可以点击该项目,它会带我到#menuitem页面,但它是空白的。我为onclick =“showItem('+ val.menu_title +')”>'创建了一个函数。但它不起作用。我是javascript的noob。 – user2060244 2013-02-11 05:49:19

回答

0

您将需要从服务器检索更多信息。如果您想查看动态创建的页面,详细说明单个项目,您将需要某种类型的ID

  1. 我会建议加入ID排队代码(其中 您创建的标签开口部)的7,加入那里的ID, 要说到href和剥离的onclick
  2. 那我就一个类添加到a tagdetails
  3. 你的最终结果应该有点像这样:

output+= '<a class="details" href="#itemid-' + val.itemid + '">';

最后,添加下面的jQuery

$('#menulist').on('click', '.details', function() { 
    // Whatever your navigation is, it should go here 
    // Eg: window.location = this.href; 
});` 
+0

这工作...有点。现在,当我将鼠标悬停在项目上时,我看到它将menu_id附加到URL,如下所示:http://www.mysite.com/#menuitem1但是,当我点击它时,没有任何反应。 – user2060244 2013-02-12 04:08:09