フォームにオートコンプリート入力をしようとしていますが、データを表示するのに問題があります。これについてはたくさんの投稿がありますが、それを行うためのさまざまな方法のようにも思えます。jqueryサイトの例に従おうとしていますが、返されるデータが正しくないだけだと思いますか?私のページは次のようになります:
<html>
<head>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$( "#Codes" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "/jreqlib",
dataType: "json",
data: {
featureClass: "P",
style: "full",
maxRows: 25,
},
success: function( data ) {
response( $.map( data, function( item ) {
return {
label: item.name,
value: item.name
}
}));
}
});
},
minLength: 1,
open: function() {
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}
});
});
</script>
</head>
<body>
<form>
<input id="Codes">
</form>
</body>
</html>
サーバーから返されるものは次のようになります。
[{"1234":"1234"},{"134":"134},{"567":"567"}]
ボックスをクリックすると、「1234」と「567」が表示され、1と入力すると「1234」と「134」が表示され、12と入力すると「1234」だけが表示されます。 ect。
どんな助けでもTIAに感謝します