Javascript 列表视图上的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

如何在列表视图上获取执行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');
                           });
                           });
                           });
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'));
});