【发布时间】:2011-04-27 17:20:48
【问题描述】:
我有一个完整的国家/地区的下拉菜单。当他们选择加拿大或美国时,一个单独的下拉列表会自动填充州/省。如果他们选择任何其他国家/地区,则第二个下拉列表将填充“其他”且值为空白。
我的问题是,如果他们选择了另一个国家并且第二个下拉列表填充了“其他”,我如何在第二个下拉列表下自动显示一个文本框,并将其动态绑定到“其他”值。换句话说,“其他”的值会在输入时动态填充文本框的值。因此,当提交表单时,第二个下拉列表的值会与他们在文本框中输入的内容一起发布。
谁能帮忙?
这是我用来绑定国家和州/省下拉列表的 jQuery 插件: https://github.com/adam12/jquery-state-select
<html>
<head>
<title>jQuery State Select Plugin Test</title>
<script type="text/javascript" src="jquery-latest.pack.js"></script>
<script type="text/javascript" src="jquery.selectboxes.pack.js"></script>
<script type="text/javascript" src="jquery.stateselect.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#country').linkToStates('#province');
});
</script>
</head>
<body>
<form>
<p>
<label>Province/State</label><br />
<select name="province" id="province">
<option value="">Please select a country</option>
</select>
</p>
<p>
<label>Country</label><br />
<select name="country" id="country">
<option>Please select</option>
<option value="Canada">Canada</option>
<option value="United States">United States</option>
</select>
</p>
</form>
</body>
部分插件代码:
$.fn.extend({
linkToStates: function(state_select_id) {
$(this).change(function() {
var country = $(this).attr('value');
$(state_select_id).removeOption(/.*/);
switch (country) {
case 'Canada':
$(state_select_id).addOption(canadian_provinces, false);
break;
case 'United States':
$(state_select_id).addOption(us_states, false);
break;
default:
$(state_select_id).addOption({ '' : 'Other'}, false);
break;
}
});
}
});
【问题讨论】:
-
我建议你发布一些代码。
标签: javascript jquery forms