jQuery移动自动完成不会自行更新

时间:2015-04-19 22:39:01

标签: jquery-mobile autocomplete

我是jQuery和jQuery mobile的新手。

我试图让自动填充字段正常工作。到目前为止,我在http://demos.jquerymobile.com/1.4.5/listview-autocomplete-remote/

的演示中正好被撕掉了
$( document ).on( "pagecreate", "#foo", function() {
$( "#autocomplete" ).on( "filterablebeforefilter", function ( e, data ) {
    var $ul = $( this ),
        $input = $( data.input ),
        value = $input.val(),
        html = "";
    $ul.html( "" );
    if ( value && value.length > 2 ) {
        $ul.html( "<li><div class=\'ui-loader\'><span class=\'ui-icon ui-icon-loading\'></span></div></li>" );
        $ul.listview( "refresh" );
        $.ajax({
            url: "/cgi/perl_script.pl",
            data: \'search=\' + value,
            dataType: "json",
            traditional: true
        })
        .then( function ( response ) {
            $.each( response, function ( i, val ) {
                alert(JSON.stringify(val));
                html += "<li>Just a test</li>";
            });
            $ul.html( html );
            $ul.listview( "refresh" );
            $ul.trigger( "updatelayout");
        });
    }
});
});

我已经确认json数据随js警报返回。这一切都在完美地发挥作用。如果我的perl脚本返回3个json记录,我会得到三个带有字符串化JSON的警报。

然而,即使我使用简单的&#34;只是一个测试&#34;,小部件永远不会显示记录。在我尝试调试问题时,我的代码中显示了这个字符串。

以下是相关的HTML代码:

  <div role="main" class="ui-content">
    <form class="ui-filterable">
      <input id="autocomplete-input" data-type="search" placeholder="Last name">
    </form>
  <ul id="autocomplete" data-role="listview" data-inset="true" data-filter="true" data-input="#autocomplete-input"></ul>

1 个答案:

答案 0 :(得分:0)

请参阅原帖的评论以获得答案。