2010-12-03 14 views
1

私はテキストボックスを持っています。ユーザーがタブアウトするとき(.change) - jsonクエリを実行して単一の文字列を取得し、それにテキストボックスを設定したいは簡単なjQueryの問題を助ける必要があります

コールバックの塗りつぶしを除いてすべて正常に動作します。コードのすべてのデモ/ビットは、厳密にコールバック上の選択リストに値を設定することで見つけることができます。私はこれをしたくない。

$("#CodeID").change(function() { 
    var codeID = $("#CodeID").val();    
    var url = '/diagnosisCodes/GetCodeDescription?CodeID=' + codeID; 
    $.getJSON(url, null, function(data) { 
     $("#txtDescription").val(data); 
    }); 
}); 

これは私が今持っているものです。明らかに動作しません。何か案は?

+0

テキストボックスとは、textarea要素または入力要素がテキスト型であることを意味しますか? – JohnFx

+0

「うまくいきません」について詳しく説明できますか?エラーメッセージが表示されますか?サーバー側のURLは実際に呼び出されますか?それは何を返すのですか? Firebugはあなたの友人です。 –

+0

あなたのテキストボックスにHTMLを投稿できますか? – hunter

答えて

1

dataはJSONデータであるため、それはあなたがあなたの代わりに$("#divDescription").val(data);

の対象

1

からするフィールドは、あなたが$("#divDescription").append(data);$("#divDescription").html(data);を試してみましたが、取得する必要がありますおそらく(javascriptオブジェクト)ですか?

編集

私はそれがテキストエリアではなく、あなたがに追加するdiv要素だ場合はValまたは追加の両方が動作することがわかった簡単なテストの後。 http://jsbin.com/usije5。 Valは既存のデータを消去し、appendは既存のデータに追加します。

2

これを見てわかる問題は、成功関数のdataパラメータがJSONオブジェクトになることです。あなたのAJAX呼び出しが

{description:"Here's my description"} 

のように見えるJSONを返しているのであれば、たとえば、あなたがMVCコントローラがあるため、500Sを投げ始めた

$("#txtDescription").val(data.description); 
1

に説明をロードする行を変更したいと思います私はJsonRequestBehavior.AllowGetを設定していませんでした。

Jquery Codeは良好です。助けてくれてありがとう!

+0

笑、ええ、私は初めてそれに遭遇したときにそれが嫌いでした – hunter

関連する問題