您好我正在开发一个简单的listView,它列出了我的表的“firstname”列:我想获得所选的值(名称),我找到了这个链接,但它显示了他如何获取索引而不是值所选项目http://jsfiddle.net/w2JZU/
这是我的代码:
HTML:
<div id="popup-bg">
</div>
<div id="popup-box">
<div data-role="page" id="home">
<div data-role="header">
<h1>Players</h1>
</div>
<div data-role="content">
<ul data-role="listview" id="artiste" >
</ul>
</div>
</div>
</div>
</section>
js:
function successCB()
{
db.transaction(queryDB, errorCB);
}
function queryDB(tx)
{
tx.executeSql('SELECT * FROM Players ', [], querySuccess, errorCB);
}
function querySuccess(tx, results)
{
var len = results.rows.length;
var dataset= results.rows;
$("#artiste").empty();
for (var i = 0; i < len; i++)
{ item = dataset.item(i);
$("#artiste").append( "<li data-theme='c'><a href='game.html'>
<img src='images/avatar.jpg'><h3>"+item['firstName']+"</h3></a></li>" );
}
答案 0 :(得分:4)
使用li标签的列表中的项目没有“值”。但是,您可以使用jQuery .text()方法获取该列表元素中的内容。我已经修改了你所引用的jsfiddle:http://jsfiddle.net/Cht2e/
您可能需要考虑向li标记添加另一个属性,例如data-name(您可以组成属性),然后您可以通过jQuery .attr()方法获取该属性。例如,您可以更改附加代码来执行以下操作:
$("#artiste").append( "<li data-theme='c' data-name='"+item['firstName']+"'><a href='game.html'>
<img src='images/avatar.jpg'><h3>"+item['firstName']+"</h3></a></li>" );
然后按照以下方式附加您的点击处理程序:
$('#artiste').children('li').on('click', function () {
alert('Selected Name=' + $(this).attr('data-name'));
});
我认为这不一定是最好的结构或方法,但它会完成你所要求的。