0

jqueryモバイルページのオートコンプリート機能をテキストボックスに追加して、ユーザーが入力したときに結果がリストビュー形式で表示されるようにするのが好きです。以下のコードは結果を示していますが、リストビュー形式ではありません。誰かがそれを修正する方法を指摘できますか?ありがとう。

<!DOCTYPE HTML>
<html>

<head> 
<title>Finder</title>

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/ui/1.8.20/jquery-ui.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>

<style>
  input{text-transform:uppercase;} 
</style>
<script>

$(document).ready(function() {

$( "#firstinputbox" ).autocomplete({

source: function( request, response ) {

$.ajax({

url: "http://ziplocator.cloudfoundry.com/rest/startsWithCity/",

dataType: "json",

data: {

maxRows: 10,

startsWith: request.term

},

success: function(data) {

response( $.map( data.zipcodes, function( item ) {
var listItem = ' <li class="ui-btn ui-btn-icon-right ui-li "><div class="ui-btn-inner ui-li"><div class="ui-btn-text"><a href="/XYC/XDetail/' + item.cityName + '" target="_self" class="ui-link-inherit">' + item.zipcodeId + '</a></div><span class="ui-icon ui-icon-arrow-r"></span></div></li>';
$(listItem).appendTo("#suggestions");

return {

label: item.cityName + ", " +item.zipcodeId + ", " + item.state,

value: item.cityName

}

}));

}

});

},

minLength: 1,

open: function() {

},

close: function() {

$('ul li').remove();
//should attach the value to the text box

}

});


}); 

</script>


</head> 
<body> 

<div data-role="page" data-add-back-btn="true" id="inputdialog">
    <div data-role="header">
       <h1>Enter Criteria here</h1>
    </div>
    <div data-role="content">
        <input type="text" id="firstinputbox"  placeholder="Enter here"/>
        <ul id="suggestions" data-role="listview" data-inset="true"></ul>
    </div>
    <div data-role="footer">

    </div>

</div>

</body>
</html>
4

3 に答える 3

0

新しいコンテンツを挿入した後、コンテンツで listview() 関数を呼び出す必要があります。

$('#suggestions').listview();

詳細については、 Elijah Manor の説明を参照してください。

于 2012-05-31T20:22:00.723 に答える
0

ajax 成功関数で listview refresh メソッドを呼び出してみてください。

$('#suggestions').listview('refresh');
于 2012-05-31T20:26:03.047 に答える
0

これを試してください

タグ削除クラスで<li>.....class="ui-btn ui-btn-icon-right ui-li "

次に、結果をリストビュー形式で表示します

于 2012-06-01T06:52:08.497 に答える