我的javascript:
var countrygroup = [
"AFG-Afghanistan",
"ALA-Åland Islands",
"ALB-Albania",
"DZA-Algeria",
"ASM-American Samoa",
"AND-Andorra",
"AGO-Angola",
"AIA-Anguilla",
"ATA-Antarctica",
"ATG-Antigua and Barbuda",
"ARG-Argentina",
"ARM-Armenia",
"ABW-Aruba",
"AUS-Australia"
];
$(function() {
$.each( countrygroup, function( i, a ){
var sep = a.split('-');
$("#country").append('<option value="' + sep[0] + '">' + sep[1] +'</option>');
});
});
PHP:
<form action="validation.php" method="post">
<table width="250" align="center">
<tr>
<td>UserId:</td>
<td><input type="text" name="userId" required></td>
</tr>
<tr>
<td>Country Code:</td>
<td><span class="input">
<select name="country" id="country" style="width:100%; white-space:nowrap">
<option value="NIL">Country</option>
<!-- Use jquery to populate options -->
</select>
</span>
</td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="pwd" required></td>
</tr>
<tr align="left">
<td> </td>
<td> <input type="submit" value="Login"></td>
</tr>
</table>
</form>
<script src="js/dropdown_script.js" type="text/javascript"></script>
我想将国家/地区列表填入我的下拉列表名称国家/地区。然而,它显示的只是下拉列表中的“国家”一词。我的代码出了什么问题?另一次我使用相同的代码似乎工作,但不是这样。我错过了什么吗?
答案 0 :(得分:0)
它正在jsfiddle中工作。您应该将脚本放在页面的head
部分:
<script src="js/dropdown_script.js" type="text/javascript"></script>
此外,请注意,建议使用绝对路径以避免出现404错误:/js/dropdown_script.js
而不是js/dropdown_script.js
正如Amarnasan所评论的那样,请确保在dropdown_script.js
答案 1 :(得分:0)
您需要加载jQuery库。最好在底部(由于效率加载的原因),在加载你的javascript之前(不应该像有人建议的那样在头部)。