4

jQuery オートコンプリート (UI 1.6rc2) が正常に動作しており、ユーザーがアイテムを選択すると、非表示のフォームの値が関連付けられた ID で更新されます。入力したテキストがオートコンプリート リストの結果と一致しない場合、非表示のフォームの値を「0」に設定するにはどうすればよいですか? この場合、新しいエントリを作成します。

4

6 に答える 6

3

オートコンプリート機能でこれを行いました:

change: function(event, ui){
   $(this).next("input[id^=person_id]").val('');
  return false;

ユーザーがオプションを選択し、非表示の入力にアイテム ID が入力された後、表示されている入力に変更が発生すると、非表示の入力値がクリアされます。魔法のように動作します!

于 2011-02-01T00:00:47.473 に答える
2

オートコンプリートで「検索」オプションを使用することもできます。

search: function(event, ui){
   $(this).next("input[id^=person_id]").val('');
}

うまくいくようです。delay と minlength の後にトリガーされますが、minlength=0 に設定した場合はうまくクリアされます。

于 2012-10-14T16:24:26.193 に答える
1

私は同じ問題で立ち往生しています...値が一致しないときに発生するイベントはないようです...しかし、いくつかの回避策が見つかったようです...

このスレッドの返信からのザビエルによる:

selected: function() {
  if(listItems.filter(”.” + CLASSES.ACTIVE)[0]){
    return data && data[ listItems.filter("." + CLASSES.ACTIVE)[0].index ];
  } else {
    if (options.notFound){
      options.notFound();
    } 
  }
}

それは私が考える最善の解決策ではありません...他のアイデアはありますか?ええ、私はこの特定のソリューションをどのように利用できるかを解決しませんでした:(

于 2009-05-29T21:34:07.537 に答える
1

ああ、これらすべてのイベントを超える方法を見つけたと思います...単純に、これをextraParamsオートコンプリートに送信された他のパラメータとともに追加します

extraParams: { 
    x: function(){ $("#targetField").val(''); }
}

これは、リクエストの送信中にフィールドを空にするだけで、結果が見つからないか、何も選択されておらず、新しいカスタム値が入力された場合、空のままになります...

于 2009-05-29T21:58:48.783 に答える
0

ここのコメントスレッドによると、それは可能ではないようです。入力した値をデータベースと照合して、存在しない場合は新しい値を作成するだけだと思います。

于 2008-12-01T04:59:09.153 に答える
-1
$("#txtSearchProvider").autocomplete("../WebServices/PageMethods/AutoComplete.aspx",
                {
                    minChars: 3,
                    formatItem: function(data, i, n, value) {
                        return  value.split("-z-")[0];
                    },
                    formatResult: function(data, value) 
                    {
                        return value.split("-z-")[0];
                    }
                }
            );
            $("#txtSearchProvider").result(function(event, data, formatted) {
                $("#txtSearchProviderHidden").val(data[0].split("-z-")[1]);
            });

からの応答: ../WebServices/PageMethods/AutoComplete.aspx

データ 1、Corp-z-29310 データ 2、Almazan & Barbara、LLP-z-35745 Dos Santos Santos-z-36327 Calzano & Salzano-z-39295

于 2009-08-09T20:12:25.287 に答える