Javascript 列表视图上的OnClick事件是否存在问题?
如何在列表视图上获取执行onclick事件。如果我单击任何列表项,我需要警报,因为它是相应的值。这可能吗?这是我的密码Javascript 列表视图上的OnClick事件是否存在问题?,javascript,jquery,Javascript,Jquery,如何在列表视图上获取执行onclick事件。如果我单击任何列表项,我需要警报,因为它是相应的值。这可能吗?这是我的密码 $("#select-choice").on('change', function(event) { $("#locationList").empty(); var catg = this.value; var db = window.sqlitePlugin.openDatabase({name: "MYDB"}); db
$("#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');
});
});
});
HTML:
- 选择位置
value
不是li
元素的有效属性,因此此.value
也不起作用
我建议使用data-*
属性:
<li data-value="A">a</li>
value
不是li
元素的有效属性,因此此.value
也不起作用
我建议使用data-*
属性:
<li data-value="A">a</li>
您的代码运行正常。但在我的代码中,我的控件并没有转到单击函数,在我的应用程序中,我动态地获取列表视图值。我将更新我的问题。您能告诉我做错了什么吗?在运行时添加DOM元素后,您需要重新分配事件。@user3300593:只需像以前一样使用事件委派绑定事件处理程序。@user3300593:是。你以前就是这么做的<代码>$(文档)。在('click','#locationList li',函数()上{
。如果您不知道它实际上是什么:。@user3300593:但是您仍然应该使用数据值
。您的代码工作正常。但是在我的代码中,我的控件没有点击功能,在我的应用程序中,我动态获取列表视图值。我将更新我的问题。您能告诉我做错了什么吗在运行时添加DOM元素后再次对事件签名。@user3300593:只需像以前一样使用事件委派绑定事件处理程序。@user3300593:是。这是您以前所做的。$(文档)。on('click','#locationList li',function(){
。如果您不知道这实际上是什么:。@user3300593:但是您仍然应该使用数据值
。我尝试了相同的方法,但我的控件都没有点击功能。我不知道您为什么要更改示例,但效果非常好:您确实使用了数据值
而不是值
,对吗?我尝试了相同,但即使是我的控件也没有单击功能。我不知道您为什么更改示例,但它工作得非常好:您确实使用了数据值
而不是值
,对吗?
<li data-value="A">a</li>
$(this).data('value')
// or
$(this).attr('data-value')
$('#locationList > li').click(function(e){
alert($(this).attr('value'));
});