2012-01-17 6 views
0

前の質問で私はDynamic dependent select menusを作成しました。このサンプルコードはhttp://jsfiddle.net/Bs5Db/50/です。 これは、特定のjqueryスクリプトのHTMLバージョンです。 ユーザー@jSweazyは、最初のメニューから新しい状態を選択するたびにjquery.uniformスクリプトを更新する必要があることを指摘してくれました。 例の作業バージョンはhttp://jsfiddle.net/Bs5Db/53/です。 デフォルトのオプションはメニューには大きすぎますが、それは簡単に固定されています....動的依存の選択メニューjQuery PHPバージョン

私の問題は、実際にはスクリプトのPHP版を使用しているということです。そのバージョンでは、$ .uniform.update();でjquery.uniformを更新します。トリックはしません。実際には、私は更新コマンドを挿入するともう2番目のメニューは表示されません。

PHPのバージョンは、データベースを照会し、各状態の郡が正常に動作取得される以下...

$(document).ready(function(){ 
function populate() { 
if($('#state').val() == 'AK' || $('#state').val() == 'DC') // Alaska and District  Columbia have no counties 
{ 
    $('#county_drop_down').hide(); 
    $('#no_county_drop_down').show(); 
    } else { 
    fetch.doPost('../getCounties.php'); 
    } 
    } 
    $('#state').change(populate); 
    var fetch = function() { 
    var counties = $('#county'); 
    return { 
    doPost: function(src) { 
$('#loading_county_drop_down').show(); // Show the Loading... 
$('#county_drop_down').hide(); // Hide the drop down 
$('#no_county_drop_down').hide(); // Hide the "no counties" message (if it's the case) 
if (src) $.post(src, { state_code: $('#state').val() }, this.getCounties); 
    else throw new Error('No SRC was passed to getCounties!'); 
}, 

getCounties: function(results) { 

    if (!results) return; 
      var allCounties = $("<option value=\"All\">All Counties</option>"); 
    counties.html(results); 
    counties.prepend(allCities); 
    counties.val("All").attr('selected',true); 


$('#loading_county_drop_down').hide(); // Hide the Loading... 

$('#county_drop_down').show(); // Show the drop down 

} 
} 

}(); 

populate(); 
}); 

getCounties.phpあります。 州と郡は、2つの選択メニューの名前です。 誰かがこのバージョンのスクリプトで郡のメニューの更新を達成する方法のアドバイスをくれればと感謝します。 あらかじめ読んでいる時間がかかります!

答えて

1

この場合でも、jquery.uniformを更新する必要があることに気付きました。しかし、ラジオボタンやチェックボックスなどの他のスタイルの要素があります。 $ .uniform.update( 'select')を挿入する必要があります。コードの最後の部分は次のようになります。

$('#loading_county_drop_down').hide(); // Hide the Loading... 
$.uniform.update('select') 
$('#county_drop_down').show(); // Show the drop down 
+0

ありがとうございます、この1つは、選択時に表示/非表示のジャムから私を助けました。小さなメモ、あなたは上記のコードで小さなスペルミスを持っています。それは次のようにする必要があります。$ .uniform.update( 'select'); –