0

動的に依存する選択メニューが 4 つあります。メニューは、州、郡、地域、近隣に対応しています。動的な依存関係は、jQuery スクリプトによって実現されます。私が達成したいのは、各メニューでユーザーが最後に選択したオプションをメニューに記憶させることです。だから私はトリックを行うURLパラメータをつかむことができればと思った. だから私はこのようにスクリプトを修正しました....

getCounty: function (results) {
    if(!results) return;
    var allCounties = $("<option value=\"All\">All Counties </option>");
    counties.html(results);
    counties.prepend(allCounties);
    var w = $.query.get("county_id");
    if(w) {
        counties.val(w).attr('selected', true);
    } else {
        counties.val("All").attr('selected', true);
    }

機能は$.query.get正しいですか?私のコードに他に何か問題がありますか? 私はjQueryの専門家ではないことを認めなければなりません...入力すると、コードは正常に機能します

counties.val(3).attr('selected',true)

選択メニューの 3 番目のオプションが選択されます。

を使用して問題を解決しました

function getUrlVars() {
  var vars = {};
  var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,   function(m,key,value) {
    vars[key] = value;
  });
  return vars;
}

以降

  var county = getUrlVars()["county_id"];

  if (county)    
     counties.val(county).attr('selected',true);
  else 
      counties.val("All").attr('selected',true);
4

1 に答える 1

1

「county_id」とは何かわかりませんが、他のメニューだと思いますので、もっと良いかもしれません:

getCounty: function (results) {
if(!results) return;
var allCounties = $("<option value=\"All\">All Counties </option>");
counties.html(results);
counties.append(allCounties); ///The all option first
var w = $('#county_id :selected').val(); ///w is the value of option selected of other combo
counties.find('option[value='+w+']').attr('selected', 'selected'); ///this find a option with value W, if exist mark like selected
}
于 2012-05-30T03:11:58.657 に答える