嗨,因为标题暗示我试图从select元素获取两个值。如何从单个选择中获取两个值
我已准备好设置的是两个选择元素,其中第一个选择过滤器的选择第二个,有超过16000个项目过滤第二个,我想我可能需要一个更好的方法来整合这个,但无论如何,我需要从显示名称和选择的价值,并创建第二个变量来保存值。
从顶部开始的是过滤值的脚本,如果任何人都可以点我一个很好的AJAX啧啧的方向来处理这件事了,我会greatfull这是我的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从数据库表
<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选项文本指定为城市变量的值?
感谢
这仍然不能帮助他实际发布城市名称上的数据。如果他想以正常方式发布表单,他需要使用隐藏字段。如果通过AJAX发布,他可以使用隐藏字段和'serialize'整个表单进行发布或手动构建要使用的查询字符串。 –
@MikeBrant [这根本就没有问题](http://stackoverflow.com/questions/2530635/jquery-add-additional-parameters-on-submit-not-ajax) – Peter
@PeterSyzmkowski是的,这当然很容易这样做,你可能也想用这些信息来更新你的答案。就目前而言,答案只是告诉他如何提取值,而不是如何实际发布它们。 –