文字「C」のみを見つけるように見えるjqueryのオートコンプリートに取り組んでいます。そして、なぜこれが起こるのでしょうか?json フィードを使用した他のオートコンプリートは正常に動作しますが、これは情報の最初の列 (形状) から選択できる並べ替えのグリッドを表示する必要があります。「C」と入力するとドロップダウンが表示されますが、それを超える組み合わせは機能しません。また、「L」または「A」と入力すると、選択の1つがポップアップするはずですが、そのような運はありません
JSON
[
{
"shape":"CLRE1 LAS",
"eye":"50",
"bridge":"18",
"color":"all"
},
{
"shape":"CLRE2 LAS",
"eye":"48",
"bridge":"18",
"color":"all"
},
{
"shape":"CLRK UOC",
"eye":"54",
"bridge":"18",
"color":"all"
},
{
"shape":"ABCD KCT",
"eye":"105",
"bridge":"25",
"color":"all"
}
]
Jクエリコード
$.getJSON("resources/data/frameshape.json", function(projects)
{
$( "#frameShaping" ).autocomplete({
source: projects,
select: function( event, ui ) {
$( "#frameShaping" ).val( ui.item.shape );
return false;
}
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
if (ul.children().length == 0){
ul.append( '<li class="t2"><p class="testing">Shape</p>
<p class="testing">Eye</p><p class="testing">Bridge</p>
<p class="testing">Color<p></li>' );
}//end if
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a><p class='linkage'>"
+ item.shape + "</p><p class='linkage'>"
+ item.eye + " </p><p class='linkage'>"
+ item.bridge + "</p><p class='linkage'> " +
item.color +"</p></a>" )
.appendTo( ul );
};
});
HTML
<input id="frameShaping" size="25"/>