3

前の 2 つの質問の続きです。

ユーザーが送信を押したときにjQueryオートコンプリートでsearch()を実行させる方法

入力を JQuery オートコンプリート ボックスにトリムするにはどうすればよいですか?

フォームに jQuery UI 1.8 のオートコンプリート ボックスがありますが、ほとんどの場合、それは魔法のように機能します。私が抱えている1つの問題は、有効な名前を入力しても、表示される選択肢を選択しないと、名前がリストと照合されない{name,value}ため、「値」部分を含む隠し入力の正しい値が一致しないことです設定。もちろん、これは、正しいとわかっている名前を入力して送信を押すと、正しい名前を入力していないと言われる (値が であるためnull) という混乱を招く状況を引き起こします。

ユーザーがオートコンプリート ボックスから選択しなくても、非表示の入力値が設定されていることを確認するにはどうすればよいですか? 送信ボタンの onclick イベントに結び付けて、jQuery にボックスの内容を検索させ、最初のオプションを自動的に選択させる機能はありますか? または、ユーザーが何らかの方法で入力ボックスの選択を解除したときに、オートコンプリートが最初のオプションを選択するようにすることはできますか (リターン/タブ/クリックオフ/など)?

ありがとう。

4

1 に答える 1

3

これがあなたの問題に対する私の解決策です。変更イベントに関する部分を追加しました。お役に立てば幸いです。

jQuery(function(){
    jQuery('#Resource').autocomplete({
        source: data,
        focus: function(event, ui) {
            jQuery('#Resource').val(ui.item.label);
            return false;
        },          
        select: function(event, ui) {
            jQuery('#Resource').val(ui.item.label);
            jQuery('#EmployeeNumber').val(ui.item.value);
            return false;
        },
        change: function(event,ui){
                for (var i in data){
                    if (data[i].label==jQuery('#Resource').val()){
                        jQuery('#EmployeeNumber').val(data[i].value);
                    }
                }
        }
    });
}); 
于 2010-07-23T13:21:59.687 に答える