gpt4 book ai didi

javascript - 从 asp 中的国家/地区选择填充状态下拉列表

转载 作者:行者123 更新时间:2023-11-29 22:16:40 25 4
gpt4 key购买 nike

我有一个需要更新的旧经典 asp 应用程序。我需要添加 2 个下拉菜单,第二个需要根据第一个(例如国家和州)填充。你如何使用 javascript 做到这一点?

最佳答案

更新:根据您在下面的评论,我更新了我的回复以包含可以执行您想要的操作的代码。您可以使用 optgroup 元素根据所选国家过滤 options,而无需使用 Ajax。

第一种方式:(optgroup过滤)

Working example on jsFiddle .

HTML:

<select id="C_Country" name="C_Country" aria-required="true" class="required">
<option value="">-- Please Select --</option>
<option value="USA">United States</option>
<option value="CA">Canada</option>
</select>
<p>
<label for="C_State_Prov">State or Province <span title="required">*</span>
</label>
</p>
<select id="C_State_Prov" name="C_State_Prov" aria-required="true" class="required">
<option value="" selected="">-- Please Select --</option>
<optgroup label="United States">
<option value="AK">Alaska</option>
<option value="AL">Alabama</option>
<option value="AR">Arkansas</option>
<option value="AZ">Arizona</option>
<option value="CA">California</option>
</optgroup>
<optgroup label="Canada">
<option value="AB">Alberta</option>
<option value="BC">British Columbia</option>
<option value="MB">Manitoba</option>
</optgroup>
</select>

JavaScript:

var state_province = $('#C_State_Prov option, #C_State_Prov optgroup');

state_province.hide();

$('#C_Country').change(function () {
state_province.hide();
$("#C_State_Prov optgroup[label='" + $(this).find(':selected').html() + "']")
.children()
.andSelf()
.show();
});

第二种方式:(Ajax)

Working example on jsFiddle .

下面是关于如何完成此任务的粗略想法。 jQuery 中定义的 URL 应指向服务器端代码将根据用户选择的国家/地区生成所需 HTML 的位置(而不是定义为 JavaScript 中的变量)。

HTML:

<form action="#">
<div>
<label for="country">Country:</label>
</div>
<div>
<select name="country" id="country">
<option value="">Please select</option>
<option value="us">United States</option>
</select>
</div>
<div id="stateContainer" class="hidden">
<div>
<label for="state">State</label>
</div>
<div>
<select id="state" name="state"></select>
</div>
</div>
<div>
<input type="submit" id="submit" name="submit" value="Submit">
</div>
</form>

CSS:

.hidden {
display: none;
}

JavaScript:

var $country = $("#country"),
$stateContainer = $("#stateContainer"),
$state = $("#state"),
url = "http://jsfiddle.net/htmled/KZ4jd/",
html = '<option value="al">Alabama</option><option value="ar">Arkansas</option>',
countryVal;

$country.change(function () {
countryVal = $country.val();
$stateContainer.show();
$state.html(html).load(loadUrl);
});

关于javascript - 从 asp 中的国家/地区选择填充状态下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14783815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com