如何使用javascript填充下拉列表?

时间:2015-09-18 06:50:26

标签: javascript php

我的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>&nbsp;</td>
             <td>&nbsp;&nbsp;<input type="submit" value="Login"></td>
      </tr>
    </table>
</form>
 <script src="js/dropdown_script.js" type="text/javascript"></script>

我想将国家/地区列表填入我的下拉列表名称国家/地区。然而,它显示的只是下拉列表中的“国家”一词。我的代码出了什么问题?另一次我使用相同的代码似乎工作,但不是这样。我错过了什么吗?

2 个答案:

答案 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

之前包含jQuery库

答案 1 :(得分:0)

您需要加载jQuery库。最好在底部(由于效率加载的原因),在加载你的javascript之前(不应该像有人建议的那样在头部)。