java - 使用 JQuery 返回列表

标签 java javascript jquery jsp

我正在使用以下 JQuery、JSP 和 Controller 在更改应用程序 JSP 页面上的国家/地区下拉菜单时返回城市列表,但我认为 JQuery 中的 dataType、成功参数不正确,因为我没有得到返回列表。那么有人可以告诉我我在这里做错了什么,以及如何在更改国家/地区下拉菜单后获取城市列表并将它们添加到城市下拉菜单中?

感谢您的宝贵时间

<script type="text/javascript">
    function loadCity(){
            var countryData="countryId="+$(country).val();
            $.ajax({
                type: "POST",
                url: "LoadCities.htm",
                data:countryData,
                dataType: "javascript",
                success: function(cities){
                    loadCities(eval(cities))
                }
            });
        }

        function loadCities(citiesLst){
            clearCitiesDD();
            for(var i=0;i<citiesLst.length;i++){
                var city=citiesLst[i];
                appendCity(city.id,city.value);
            }
        }

        function clearCitiesDD(){
            $('#cityDD').find('option').remove();
        }

        function appendCity(id,cityName){
            $('#cityDD').append($("<option id='"+id+"'>" + cityName + "</option>"));
        }
        }            
</script>

在我的应用程序 Controller 中,我有以下代码:

@RequestMapping(value = "/LoadCities.htm", method = RequestMethod.GET)
public @ResponseBody
List<City> getCityByCountryID(HttpServletRequest request, HttpServletResponse response) 
        throws Exception {

List<City> list=
icitys.getCitiesByCountry(Long.parseLong(request.getParameter("countryID")));
return list;        
}

在 JSP 文件中,我有以下城市和国家下拉菜单:

<tr>
    <td align="right">Country</td>
    <td align="left">
        <select id ="country" name="country" onchange="loadCity()">
            <option  value="0">--select--</option>
            <c:forEach var="countrylst" items="${countriesList}">
                <option  value="${countrylst.id}">${countrylst.countryName}</option>
            </c:forEach>
        </select>
    </td>
</tr>   
<tr>
    <td align="right">City</td>
    <td align="left">
        <select id="cityDD" name="cityDD">
            <option  value="0">--select--</option>
        </select>       
    </td>
</tr>

最佳答案

希望您在将 $(country) 更改为 $('#country') 后得到解决方案。

还有一件事,您将 dataType 设置为“javascript”,但可用的数据类型为 xml、json、script 或 html

最好尝试使用html

祝你好运。

关于java - 使用 JQuery 返回列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18374807/

相关文章:

JavaScript 似乎以错误的顺序执行代码

java - JFileChooser 在 Ubuntu 中关闭时不返回控制权

java - 如何内嵌显示数据?

java - 在 IntelliJ IDEA 下使用 Lombok 时无法编译项目

javascript - 将默认链接替换为另一个链接

php - jQuery 图片上传 - CodeIgniter

java - 如何忽略zuul中的路由?

javascript - 判断视频是否被点击

jquery - EmberJS 应用程序...可以与 UI 框架集成吗?

jquery - 防止 ASP.NET MVC 中的跨站点脚本编写 - 使用 jQuery 或标准 HtmlHelpers