我是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>
答案 0 :(得分:0)
请参阅原帖的评论以获得答案。