2011-10-28 27 views
0

私はこのことについて何か考えすぎるのか分かりません。私はちょうど私が呼出しから得た結果に基づいて特定のオプションを選択できるようにしたい。現在、郵便番号に基づいて市、州、国が作成されます。 GETの回答は "Sacramento | CA | United States"です。私は入力ボックスに簡単に回答を入れることができますが、回答に基づいてオプションを選択する方法を理解することはできません。これは可能ですか?私はいくつかのメソッドのプロパティを見てきました。私は実際に使用できるものは何も見ていません。req.responseTextに基づいてオプションを選択してください

ここにGetスクリプトがあります。ここで

<script type="text/javascript"> 
var req; 
var oldData; 
var doesNotSupport = true; 

function getAddress(url, number) 
{ 
if (number == "" || oldData == number || !doesNotSupport) 
    return; 

oldData = number; 
document.getElementById('city').value = "Searching ..."; 
document.getElementById('state').value = "Searching ..."; 
document.getElementById('country').value = "Searching ..."; 

if (window.XMLHttpRequest) { 
    req = new XMLHttpRequest; 
} else if (window.ActiveXObject) { 
    req = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

if (req) { 
    req.onreadystatechange = processReqChange; 
    req.open("GET", url + '?number=' + number + '&zip=' + number, true); 
    req.send(null); 
    } else { 
    alert("Your browser does not support XMLHttpRequest technology!"); 
    doesNotSupport = false; 
    } 
} 
</script> 

は、私はちょうど.VALUEプロパティを置き換えるために何かを探しています応答スクリプト

<script type="text/javascript"> 
function processReqChange() { 
// only if req shows "loaded" 
if (req.readyState == 4) { 
// only if "OK" 
if (req.status == 200) { 
    var Result = req.responseText.split("|"); 
document.getElementById('city').value = Result[0]; 
document.getElementById('state').value = Result[1]; 
     This is the problem child. 
    document.getElementById('country').value = Result[2]; 
} else { 
    alert("There was a problem retrieving the XML data:\n" + req.statusText); 
    } 
    } 
} 
</script> 

オプション設定
<option name="(abbr.)" value="(full name)">Full Name</option>
すなわち
<option name="CA" value="California">California</option>

です。 document.getElementById('state').childNode.attribute.name = Result[1]なんかのもの。ここ
は(コードの下に都市のためである)全ページファイルへのリンクhttp://ge.tt/99dJ1J9?c

+0

ニーズに合うものを見つけます。オプションの値として?あなたはレスポンスに略語を送ります。 – JoshuaBoshi

+0

私はダムだ。それは完璧に働いた。ジョシュさんありがとう。 –

+0

問題はありません:-)私は定期的な回答を投稿しました。 – JoshuaBoshi

答えて

0

問題は、あなたが持っていないということですオプション値の状態の略語。応答には略語が含まれます。

また、私はいくつかのjavascriptフレームワークをお勧めします。これはAjaxのような一般的なタク、フォームのバリデーションなどで非常に役に立ちます。

だけjavascriptのフレームワークをGoogleとそれが略称を持つように助けるん最善:-)

0

あなたのSELECTオブジェクトに値を設定するためにこれを使用することである。

var selObject = document.getElementById('city_select_id');  
selObject.value = document.getElementById('city').value; //value received in the response 
+0

私は都市ではなく州に問題があります。私が.valueを行うと、何も変わらない。それはちょうど "選択状態..."のままです。 –

+0

状態の選択は似ているはずです。状態のためにサーバーから受け取った値がオプションの1つの値と一致していることを確認してください – sarghir

関連する問題