Php 如何从单一选择中获取两个值

Php 如何从单一选择中获取两个值,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,嗨,正如标题所暗示的,我试图从一个select元素中获取两个值 我已经准备好了两个选择元素,第一个选择过滤第二个,第二个选择过滤16000多个项目,我想我可能需要一个更好的方法来集成它,但无论如何,我需要从select中获取显示的名称和值,并创建第二个变量来保存该值 从顶部开始,这是一个过滤值的脚本,如果有人能给我指出一个好的ajax tut的方向来设置所有这些,我会很高兴这是我的js <script type="text/javascript"> //<![CDATA[ jQ

嗨,正如标题所暗示的,我试图从一个select元素中获取两个值

我已经准备好了两个选择元素,第一个选择过滤第二个,第二个选择过滤16000多个项目,我想我可能需要一个更好的方法来集成它,但无论如何,我需要从select中获取显示的名称和值,并创建第二个变量来保存该值

从顶部开始,这是一个过滤值的脚本,如果有人能给我指出一个好的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>
我需要做的是创建另一个名为citycode的变量,并为其指定城市编号,然后使用显示的文本作为城市值,这样看起来就像这样

&country=PY &city=Ciudad Del Este  &citycode=3439101
但是如何创建字段&citycode并将html选项文本作为值分配给city变量呢

谢谢


有了这些知识,您最好创建一个名为
city
的隐藏字段,在city
上使用jQuery onchange事件选择
将值填充到该字段中。然后,您需要将
城市
选择的名称更改为
城市代码

,这仍然无法帮助他实际将数据发布到城市名称上。如果他想以正常的方式发布表单,他需要使用一个隐藏字段。如果通过AJAX发布,他可以使用隐藏字段和
序列化整个表单进行发布,也可以手动构建要使用的查询字符串。@MikeBrant@PeterSyzmkowski是的,这当然很容易,您可能还需要用这些信息更新您的答案。目前,答案只告诉他如何提取这些值,而不是如何实际发布它们。
&country=PY  &city=3439101
&country=PY &city=Ciudad Del Este  &citycode=3439101
$('#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