使用javascript从选择菜单中删除匹配的选项
我有一个国家/地区的选择菜单(我无法更改此服务器端)。根据以前的用户选择,其中一个选项已被选中 我还有一个国家代码列表(也是服务器端生成的),它指定了应该出现在菜单中的国家。(大部分应移除。) 我已经想出了下面的脚本,但不明白为什么它不起作用。我可以使用使用javascript从选择菜单中删除匹配的选项,javascript,forms,removechild,Javascript,Forms,Removechild,我有一个国家/地区的选择菜单(我无法更改此服务器端)。根据以前的用户选择,其中一个选项已被选中 我还有一个国家代码列表(也是服务器端生成的),它指定了应该出现在菜单中的国家。(大部分应移除。) 我已经想出了下面的脚本,但不明白为什么它不起作用。我可以使用 countrymenu.options[i].disabled = true; 但是 (这就是我需要的)什么都不做 任何帮助都将不胜感激 <html> <head> <script t
countrymenu.options[i].disabled = true;
但是
(这就是我需要的)什么都不做
任何帮助都将不胜感激
<html>
<head>
<script type="text/javascript">
function HideCountries()
{
countrymenu = document.checkoutform.country_code;
for (var i = 0; i < countrymenu.length; i++)
{
if (/^ASM|AIA$/.test(countrymenu.options[i].value)==false)
{
countrymenu.remove[i];
}
}
}
window.onload=HideCountries;
</script>
</head>
<body>
<form name="checkoutform">
<select name="country_code" id="country_code">
<option value="AFG">Afghanistan</option>
<option value="ALA">Åland Is.</option>
<option value="ALB">Albania</option>
<option value="DZA">Algeria</option>
<option value="ASM">American Samoa</option>
<option value="AND">Andorra</option>
<option value="AGO">Angola</option>
<option value="AIA">Anguilla</option>
<option value="ATA" selected="selected">Antarctica</option>
</select>
<input type="submit" />
</form>
</body>
</html>
函数HideCountries()
{
countrymenu=document.checkoutform.country\u代码;
对于(变量i=0;i
删除
是一项功能。它用普通括号调用
countrymenu.remove(i);
remove[i]
尝试将函数用作数组。这失败了,所以什么也没发生。它还可能导致停止代码的错误。尽管您的remove()
功能不正确,但您也应该按相反的顺序删除项目,因为一旦删除项目,索引就会移动
这应该只剩下:
- 美属萨摩亚
- 安圭拉
countrymenu.remove(i);
function hideCountries() {
countrymenu = document.getElementsByName('country_code')[0]
for (var i = countrymenu.length-1; i >= 0; i--) {
if (/^ASM|AIA$/.test(countrymenu.options[i].value) == false) {
countrymenu.remove(i);
}
}
}
window.onload = hideCountries();