如何在列表视图上执行onclick事件。如果我点击任何列表项,我需要提醒它作为它的相应值。这可能吗?这是我的代码,
$("#select-choice").on('change', function(event) {
$("#locationList").empty();
var catg = this.value;
var db = window.sqlitePlugin.openDatabase({name: "MYDB"});
db.transaction(function (tx) {
tx.executeSql("select Location from Locationlog WHERE Category = '"+catg+"';", [], function (tx, res) {
var optionheading = '<li value="Select Location">Select Location</li>';
$("#locationList").append(optionheading);
for (var i = 0; i < res.rows.length; i++) {
var opt = '<li value="';
opt += res.rows.item(i).Location;
opt += '">';
opt += res.rows.item(i).Location;
opt += '</li>';
$("#locationList").append(opt);
}
$("#locationList").listview('refresh');
});
});
});
我正在尝试使用如下代码,但它无法正常工作。请提出任何建议,
$('#locationList > li').click(function(e){
alert($(this).attr('value'));
});
HTML:
<ul data-role="listview" id="locationList" name="locationList" data-inset="true">
<li value="Select Location">Select Location</li>
</ul>
答案 0 :(得分:4)
value
不是li
元素的有效属性,因此this.value
也无法使用。
我建议使用data-*
属性:
<li data-value="A">a</li>
然后您可以通过以下方式获取值:
$(this).data('value')
// or
$(this).attr('data-value')
答案 1 :(得分:1)
$('#locationList > li').click(function(e){
alert($(this).attr('value'));
});