jquery mobile 1.3远程自动完成无法选择动态创建的列表中的元素

标签 jquery jquery-mobile

当我单击“upperUlProductSearch”类时,我设置了警报,但是当我单击 ajax 创建列表中的 li 时,我没有收到响应。我还有一个 a 标签和另一个具有相同类的静态 ul li,单击时确实会给我警报。我希望有人能帮助我弄清楚为什么我不能瞄准 ajax li 或正确的方法。提前致谢!!!

jquery:

$( document ).on( "pageinit", "#template", function() {
$( "#upperApplianceSearch" ).on( "listviewbeforefilter", function ( e, data ) {
    var $ul = $( this ),
        $input = $( data.input ),
        value = $input.val(),
        html = "";
    $ul.html( "" );
    if ( value && value.length > 1 ) {
        $ul.html( "<li><div class='ui-loader'><span class='ui-icon ui-icon-loading'></span></div></li>" );
        $ul.listview( "refresh" );
        $.ajax({
            url: "productautocomplete.php",
            type: "POST",
            dataType: "json",
            data: {
                q: $input.val()
            }
        })
        .then( function (data) {
            $.each( data, function ( i, val ) {
                /*html += "<li><a href='#' data-role='none' value=" + val.productId + ">" + val.productName + "</a></li>";*/
                html += '<li class="upperUlProductSearch" id=' + val.productId + '>' + val.productName + '</li>';
            });
            $ul.html( html );
            $ul.listview( "refresh" );
            $ul.trigger( "updatelayout");
        });
    }
});
})

$(".upperUlProductSearch").click(function() {
alert ("helleo");
});

html:

<ul id="upperApplianceSearch" class="ui-listview ui-listview-inset ui-
corner-all ui-shadow" data-filter-theme="d" data-filter-placeholder="Find an  
appliance..." data-filter="true" data-icon="false" data-inset="true" data- 
role="listview">

<li id="41" class="upperUlProductSearch ui-li ui-li-static ui-btn-up-f ui- 
first-child ui-last-child">Hawley</li>
</ul>

<a class="upperUlProductSearch ui-link">Hello</a>

<ul class="ui-listview" data-role="listview">
  <li class="upperUlProductSearch ui-li ui-li-static ui-btn-up-f ui-first- child ui-last-child">Li Test</li>
</ul>

最佳答案

替换:

$(".upperUlProductSearch").click(function() {
    alert("helleo");
});

与:

$('#upperApplianceSearch').on('click', 'li', function () {
    alert("helleo");
});

关于jquery mobile 1.3远程自动完成无法选择动态创建的列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15144761/

相关文章:

jquery - 使用 select2 框克隆表行会创建另一个选择框

javascript - JSON jQuery 中从一个 html 到另一个 html 的数据

jquery - 将动态 AJAX 内容加载到 Fancybox 中

javascript - JQuery Mobile 在导航页面后丢失所有样式

jQuery 移动 : How to change Radio button active state color

php - 更新单选按钮值而不使用提交按钮

javascript - 使用选择选项值更改表格填充

javascript - 访问从 jQuery 中的 AJAX 对象返回的 JSON

android - 在某些页面上强制方向

javascript - 如何通过 jquery 向 <li> 添加 2 个按钮