从动态生成的数据创建链接

时间:2013-02-11 05:21:01

标签: javascript jquery jquery-mobile

我正在使用jQuery mobile,我有一个从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函数,所以当我点击列表视图中的单个项目时,它会将该信息传递给动态创建的页面,详细说明该单个项目。希望有一个简单的答案,我尝试了一些不同的东西,但没有一个工作。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

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

  1. 我建议将ID添加到代码的第7行(其中 你创建了一个标签的开头部分)并在那里添加id, 说到href并删除onclick
  2. 然后我会向a tagdetails
  3. 添加一个课程
  4. 你的最终结果应该看起来像这样:
  5. 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;
    });`