如何获得news_id在项目点击提醒

问题描述:

如何获得项目点击项目ID,我能够在Listview上显示数据我想单击项目显示,我得到特别news_id警报。如何获得news_id在项目点击提醒

这是我的HTML页面:

<body> 
<div data-role="page" id="taxmanhomepage" data-theme="e"> 
    <div data-role="header" data-position="fixed" data-tap-toggle="false" data-theme="e"> 
    <h4 align="center">Taxmann Demo App</h4> 
    </div> 
    <div data-role="content" data-theme="e"> 
    <a data-role="button" onclick="callservice()">Webservice</a> 
    Todays Headlines: 
    <div class="content-primary"> 
    <ul id="newlist" data-role="listview" data-inset="true"data-filter-theme="e" data-divider-theme="e"> 
    </ul> 
    </div> 
    </div> 
</div> 
</body> 

这是我的JavaScript代码:

var URL="http://www.taxmann.com/TaxmannWhatsnewService/mobileservice.aspx?service=corporatelaws"; 
var news_id=null; 
var news_title=null; 
var news_short_description=null; 
var new_hash = {}; 
document.addEventListener("deviceready", onDeviceReady, false); 
function onDeviceReady() {} 

function backToHome() { 
    $.mobile.changePage('#taxmanhomepage', { 
     reverse : false, 
     changeHash : false 
    }); 
} 

$(document).on('pagebeforeshow','#newslistpage',function(event){ 
    $('#newlist').empty(); 
}); 

function callservice(){ 
$.ajax({ 
    type : "GET", 
    url : URL, 
    dataType : "json", 
    cache : false, 
    error : function(xhr, ajaxOptions, thrownError) { 
    debugger; 
    }, 
    success : function(response, status, xhr) { 
    response=xhr.responseText; 
    var responseArray = JSON.parse(response); 
    console.log(responseArray); 
    var length = responseArray.length; 
    var html=''; 
    for(i=0;i<length;i++) { 
    news_id=$.trim(responseArray[i].news_id); 
    news_title=$.trim(responseArray[i].news_title); 
    news_short_description=$.trim(responseArray[i].news_short_description); 
    new_hash[news_id]=[news_title,news_short_description]; 
    $("#newlist").append("<li 'style='font-size:10pt';'font-weight:bold';' ><a href='#' ><h1 class='myHeader'>"+news_title+"</h1><br><h6 class='myHeader'>"+news_short_description+"</h6></a></li>"); 
    } 

    $("#newlist").append("</ul>"); 
    $('#newlist').listview('refresh'); 
    $('#newlist').children('li').on('click', function(){ 
    var index = $(this).index(); 
    //var text = $(this).text(); 
    alert(index); 
    }); 
} 
}); 
} 
+2

你不是已经问这个问题[点击这里?](http://*.com/q/16515225/1612146) – George 2013-05-13 08:54:42

+0

是的,我问,但这是有点不同但现在我能够申请上单击功能在这里问题是我将如何获得news_id警报在项目单击 – user2372154 2013-05-13 08:56:25

+0

删除重复:http://*.com/questions/16515225/how-to-apply-onitem-click-using-java-script – diEcho 2013-05-13 08:57:31

改变你的代码是这样的追加部分,

$("#newlist").append($("<li/>").data("newsId", news_id).html("<a href='#' ><h1 class='myHeader'>" + news_title + "</h1><br/><h6 class='myHeader'>" + news_short_description + "</h6></a>")); 

并改变这样的单击事件,

$('#newlist').on('click', 'li',function() { 
    var index = $(this).index(); 
    //var text = $(this).text(); 
    alert($(this).data("newsId")); 
}); 

news_idli项目的data-attribute,然后检索:

$("#newlist").append("<li data-news-id='" + news_id + "' rest of string"); 

$('#newlist').children('li').on('click', function(){ 
    var news_id = $(this).attr('data-news-id'); 
    alert(news_id); 
}); 

如果您不希望该属性可见,那么使用data()

$("<li rest of string").data('news_id', news_id).appendTo($('#newlist')); 

$('#newlist').children('li').on('click', function(){ 
    var news_id = $(this).data('news_id'); 
    alert(news_id); 
}); 
+0

我不想在ListView上显示News_id我只能显示news_title和news_showrt Descriton – user2372154 2013-05-13 08:58:25

+0

这不是Konstantin指出的......阅读他的答案。测试代码! – Imperative 2013-05-13 08:59:35

+0

其工作但我不想在列表视图中显示news_id – user2372154 2013-05-13 09:02:48