1

jquery1.9.1とjquery-ui1.10.1を使用しています。

MySQLデータベースからデータをプルするPHPコードからのjsonデータソースがあります。データはjson_encodeを使用してエンコードされ、次の形式で出力されます。

[{"label":"label1","value":"value1"},{"label":"label2","value":"value2"},...]

オートコンプリートメニューからアイテムを選択すると、selectイベントは正常に機能し、ui.item引数には正しい情報が含まれますが、change(autocompletechange)イベントでは、ui.item引数は常にnullになります。

  $( "#autocomplete" ).autocomplete({ source: 'custSearch.php',
                                      select: function(event, ui) {
                                            console.log(ui);
                                            $( "#customer" ).text(ui.item.label);
                                            $("#validpic").remove();
                                            $("#validpic_div").append("<img id='validpic' src='/images/icons/001_06.png'>");
                                            $( "#go" ).focus();
                                          },
                                       change: function(event, ui) {
                                            console.log(ui);
                                          }
                               });

繰り返しますが、上記のコードでは、selectui.item はjsonデータソースからのラベルと値のペアを保持しています。ただし、選択が行われた場合でも、変更ui.itemは常にnullです。

jquery-uiオートコンプリートAPIドキュメントから、ui.itemは次のようになります。

メニューから選択されたアイテム(ある場合)。それ以外の場合、プロパティはnullです。

助言がありますか?

4

0 に答える 0