0

こんにちは。タイトルは、select要素から2つの値を取得しようとしていることを示しています。

私がすべて準備ができているのは、2つの選択要素です。最初の選択フィルターを選択すると、2番目のフィルターに16000を超えるアイテムがあり、これを統合するためのより良い方法が必要になると思いますが、とにかく必要です。表示された名前と値の両方をselectから取得し、値を保持する2番目の変数を作成します。

上から始めて、これは、誰かが私を良いajax tutの方向に向けて、これをすべて設定できる場合に値をフィルタリングするスクリプトです。これは私のjsです。

<script type="text/javascript">
//<![CDATA[
jQuery.fn.filterOn = function(selectFrom, values) {
    return this.each(function() {
        var select = this;
        var options = {};
$(select).find('option').each(function() {
    var $o = $(this), title = $o.attr('title');
    if (options.hasOwnProperty(title) === false) {
        options[title] = [];
    }
    options[title].push({ 'text': $o.text(), 'value': $o.val() });
});
$(select).data('options', options);
        console.log(selectFrom);
       $(selectFrom).change(function() {
    var $select = $(select),
        options = $select.empty().data('options')[$(this).val()];
    // options is now just an array of objects with value and text properties, so:
    $.each(options, function () {
        $('<option value="' + this.value + '">' + this.text + '</option>').appendTo($select);
    });
  }); 
  });
};

$(function() {
    $('#city').filterOn('#country', {
        'default': [],
        'LK':['LK'],'SY':['SY'],'KE':['KE'],'KH':['KH'],'MN':['MN'],'SN':['SN'],'JO':['JO'],'SE':['SE'],'GB':['GB'],'AT':['AT'],'IL':['IL'],'PY':['PY'],'JM':['JM'],'MX':['MX'],'CL':['CL'],'CA':['CA'],'BG':['BG'],'MC':['MC'],'PR':['PR'],'LB':['LB'],'EC':['EC'],'PW':['PW'],'GU':['GU'],'MK':['MK'],'RE':['RE'],'BW':['BW'],'LY':['LY'],'TG':['TG'],'TH':['TH'],'MY':['MY'],'ES':['ES'],'DK':['DK'],'DO':['DO'],'BZ':['BZ'],'NI':['NI'],'VE':['VE'],'LV':['LV'],'AZ':['AZ'],'MD':['MD'],'AE':['AE'],'MT':['MT'],'SZ':['SZ'],'YE':['YE'],'SV':['SV'],'MW':['MW'],'GF':['GF'],'BD':['BD'],'LI':['LI'],'SM':['SM'],'BY':['BY'],'MZ':['MZ'],'IR':['IR'],'PK':['PK'],'RU':['RU'],'MU':['MU'],'TW':['TW'],'PT':['PT'],'NG':['NG'],'GR':['GR'],'CH':['CH'],'KW':['KW'],'LU':['LU'],'CZ':['CZ'],'HR':['HR'],'AR':['AR'],'EG':['EG'],'CR':['CR'],'US':['US'],'LT':['LT'],'KZ':['KZ'],'RS':['RS'],'EE':['EE'],'SG':['SG'],'FM':['FM'],'AL':['AL'],'ML':['ML'],'UG':['UG'],'ZA':['ZA'],'MM':['MM'],'AU':['AU'],'FJ':['FJ'],'IT':['IT'],'AD':['AD'],'NO':['NO'],'BR':['BR'],'UY':['UY'],'GT':['GT'],'PF':['PF'],'SC':['SC'],'BB':['BB'],'ME':['ME'],'LA':['LA'],'CK':['CK'],'KY':['KY'],'GA':['GA'],'SA':['SA'],'VN':['VN'],'PH':['PH'],'KR':['KR'],'JP':['JP'],'VU':['VU'],'NZ':['NZ'],'TN':['TN'],'IE':['IE'],'SI':['SI'],'SR':['SR'],'FI':['FI'],'AW':['AW'],'NP':['NP'],'FO':['FO'],'SD':['SD'],'ID':['ID'],'CN':['CN'],'MV':['MV'],'UZ':['UZ'],'HK':['HK'],'DZ':['DZ'],'DE':['DE'],'OM':['OM'],'FR':['FR'],'SK':['SK'],'PL':['PL'],'BS':['BS'],'GP':['GP'],'CO':['CO'],'BO':['BO'],'UA':['UA'],'AN':['AN'],'TO':['TO'],'GE':['GE'],'ET':['ET'],'BM':['BM'],'CY':['CY'],'GM':['GM'],'MA':['MA'],'HU':['HU'],'HN':['HN'],'PE':['PE'],'RO':['RO'],'AM':['AM'],'NC':['NC'],'ZM':['ZM'],'IN':['IN'],'TZ':['TZ'],'NL':['NL'],'BE':['BE'],'TR':['TR'],'NA':['NA'],'GD':['GD'],'QA':['QA'],'IS':['IS'],'BH':['BH'],'ZW':['ZW'],'GI':['GI'],'CM':['CM']
    });
});

 //]]>
</script>

次に、データベーステーブルからphpを使用して構築された2つの選択があります

<select id="country" name="country">
 <option value="">---------</option>
 <option value="LK">Sri Lanka</option>
 <option value="SY">Syria</option>
 <option value="KE">Kenya</option>
 <option value="KH">Cambodia</option>
 <option value="MN">Mongolia</option>     
 <option value="SN">Senegal</option>
 <option value="PY">Paraguay</option>
 <option value="SE">Sweden</option>
</select>

<select id="city" name="city">
  <option value="3439389">Asuncion</option>
  <option value="3439352">Bella Vista</option>
  <option value="3439101">Ciudad Del Este</option>
  <option value="3438735">Encarnacion</option>
</select>

基本的に、これはすべてページ間で取得して渡されます。これはクエリのようになります。

&country=PY  &city=3439101

私がする必要があるのは、citycodeという別の変数を作成し、それに都市番号を指定し、表示されたテキストを都市値として使用して、次のようにすることです。

&country=PY &city=Ciudad Del Este  &citycode=3439101

しかし、フィールド&citycodeを作成し、htmlオプションテキストを値としてcity変数に割り当てるにはどうすればよいですか?

ありがとう

4

2 に答える 2

1
$('#country option:selected').val(); // returns LK
$('#country option:selected').text(); // returns Sri Lanka

$('#city option:selected').val(); // returns 3439389
$('#city option:selected').text(); // returns Asuncion

この知識があれば、POST/GETリクエストに非表示の入力を追加できます

于 2012-08-28T14:21:02.833 に答える
0

最善の策はcity、都市でjQueryonchangeイベントを使用しselectて値を入力するという隠しファイルを作成することです。city次に、 selectの名前をに変更する必要がありますcitycode

于 2012-08-28T14:21:49.847 に答える