2012-04-04 8 views
2

ウェブアプリケーション(.Net 3.5)のテキストボックスでjqueryオートコンプリートを使用しています。私の問題は接頭辞のテキストは常に空白です。正しい値は割り当てられません。jqueryオートコンプリートでテキストボックスの値を渡す方法

function TextBoxAutoComplete(scope, controlId, contextKeyId) { 

var txtbox = null; 
var flagValue; 
if (scope) { 
    txtbox = $('input[id$="' + controlId + '"]', scope); 
} else { 
    txtbox = $('input[id$="' + controlId + '"]', document); 
} 

var contextKeyValue = $('input[id$="' + contextKeyId + '"]', document).val(); 

$(txtbox).autocomplete("../Handlers/MiscHandler.ashx", { 
    minChars: 0, 
    extraParams: { prefixText: $(this).val(), count: '10', contextKey: contextKeyValue, flag: 'codePart' }, 
    selectFirst: false, 
    width: 49 
}).result(function(event, data, formatted) { // result is a separate function 
    var dummy = new Object(); 
    dummy.value = data[1]; 
    dummy.text = data[0]; 
    var test = new Test(dummy); 
}); 
} 

私はドキュメントの準備ができたら上記の方法を呼び出します。ここでの問題は、私は変数「prifixText」 prefixTextにそれを渡したときに、私はテキストボックスの値(現在入力されたテキスト)を取得しないです:$(この).val()

は誰もが私を助けてくださいこの問題を解決するには?ありがとう

+0

$(txtbox).val()をクエリすると何かが得られますか?私は間違っている可能性がありますが、そのコンテキスト内の「this」は実際のオートコンプリート自体であり、選択された値はありません。 – mattytommo

+0

ここではjQuery UIバージョンのオートコンプリートを使用していないことを指摘しておきたいと思います。いくつかの同様のバージョンとして使用しているプラ​​グインへのリンクを追加する必要があります。 –

+0

@mattytommo - ありがとうございました。私は同じ方法を試みたが、うまくいかなかった。 – Sugandika

答えて

0

searchイベントを使用してください、あなたの例では、あなたは悪い範囲にあります。

http://jqueryui.com/demos/autocomplete/#event-search

+0

jQuery UIバージョンがここで使用されていないかのように表示されます。 –

0

http://jqueryui.com/demos/autocomplete/#method-option最後に、私は私の友人の助けを借りて、答えを見つけることができたオプションの使用を設定します。

ハンドラから "../Handlers/MiscHandler.ashx"次のように、 'prefixText'の値にアクセスしてテキストボックステキストにアクセスしようとしました。

string prefixText = string.Empty; 
if (context.Request["prefixText"] != null) 
{ 
prefixText = context.Request["prefixText"].ToString(); 
} 

しかし、それは私がテキストボックス値を取得することはできませんでした。その代わりに、私はデフォルトで来るクエリ文字列の "q"パラメータにアクセスしました。

if (context.Request["q"] != null) 
{ 
prefixText = context.Request["q"].ToString(); 
} 

これは完璧な仕事をしてjqueryのコードと全く問題がなかった、問題は私がHTTPリクエストを処理しましたか。ありがとう。

関連する問題