2012-02-29 20 views
1

「警告」のコメントを外すと、次のコードは問題なく動作します。これは、ユーザがカントリーを選択し、次に州を選択し、次に都市を選択する一連のカスケード・ドロップダウンを行うことでわかったことです。JavaScriptの処理を一時停止していますか?

アラートのコメントを外すと、値はまだ更新されていないようです。私はたくさんのものを試しましたが、私は運がありませんでした。私は何か愚かなことをやっていると確信しています。どんな助けでも大歓迎です。

ありがとうございます!

$(document).ready(function() { 
    $("#Country").change(function() { 
     $("#City").html(""); 
     var id = $("#Country").val(); 
     getStates(id); 

//  alert("CountryId = " + id); 
     var stateId = $("#State").val(); 
//  alert("stateId = " + stateId); 
     var stateId = $("#State").val(); 
     alert("stateId = " + stateId); 

     $(document).ready(function() { 
      getCities(stateId); 
     }); 
    }); 
    $("#State").change(function(){ 
     var id = $("#State").val(); 
     id = (id==null)?1:id; 
      getCities(id); 
    }); 
}); 
+0

を意味するもの '次のコードは完璧に動作さは、コメントを外しアラートの'矛盾、それは価値のようなものですまだ更新されていない。 –

+1

あなたの質問を編集し、getStatesのコードをそれに入れてください – Dampsquid

+3

問題はここにはなく、あなたの "getStates()"と "getCities()"関数にあります。彼らはajaxコールをしていると思う。それらは同期していません。 – Pointy

答えて

7

関数getStatesがサーバーへの非同期要求の場合、成功コールバックを追加する必要があります。そうでない場合、それは変だ。

btw。 $(document).readyドキュメント内のreadyは意味をなさない。

+0

:)それはそこに残されてはいけません。それはそれを動作させるように試みる私の試みの1つだった... – user1241166

0

あなたのコードは

あまり意味がありません。私はalerts`のコメントを外した場合、おそらくこれはあなたが

$(document).ready(function() { 
    $("#Country").change(function() { 
    var id = $(this).val(); 
    getStates(id); 
    }); 
    $("#State").change(function() { 
    var id = $(this).val(); 
    getCities(id); 
    }); 
}); 
関連する問題