首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring mvc dynamic on change dropdown to other dropdown

spring mvc dynamic on change dropdown to other dropdown
EN

Stack Overflow用户
提问于 2012-03-21 22:15:20
回答 3查看 13.4K关注 0票数 0

我有两个下拉列表。第一个下拉列表:1在此处输入代码

代码语言:javascript
复制
<form:select path="custName" id="custName">
    <form:option value="walk_in">Walk In</form:option>
    <c:forEach var="led" items="${name}">
        <form:option value="${led.ledName}">${ledger.ledName}</form:option>
    </c:forEach>
</form:select>

第二个dropdwon:

代码语言:javascript
复制
<form:select path="customerName" id="c01">
        <option value="walk_in">Walk In</option>
        <c:forEach var="led" items="${name}">
        <form:option  value="${led}">
        </form:option>
        </c:forEach>
        </form:select>

我有如下的Spring控制器

代码语言:javascript
复制
@Controller
@RequestMapping("/accreq")

使用以下映射

代码语言:javascript
复制
    @RequestMapping(value="/creditAccount_name.htm",method=RequestMethod.GET)
        public @ResponseBody String GetName(@RequestParam(value="credit",required=true)String customername, ModelMap model){
            List<Journal> journals=journalDao.getReceiptTypeName(customername);
            System.out.println(customername);
            String ID = journals.get(0).getJournalId().toString();
            System.out.println(ID);
            return ID;//here i am getting the value in console
        }

我试着用下面的jquery ajax调用这个方法

函数getAjaxReceipt(){

代码语言:javascript
复制
var custname=$("#custName").val();
if(custname!="walk_in"){
    $.ajax({
        type:'GET',
        url:'creditAccount_name.htm',
        data:{credit:custname},
        success:function(data){
            $('#c01').val(data);//this is the feild id of second drop down value should display here...but is show empty...
            alert(data);//here also i am getting the alertbox in jsp
        },
        error:function(xmlHttpRequest, textStatus, errorThrown){
            if(xmlHttpRequest.readyState=0 || xmlHttpRequest.status == 0)
                return;
        },
    });
}

场景是我通过查询获取第一个dropdwon的值,并在controller.when中绑定它。我选择第一个dropdown的值,它对应的值应该在第二个dropdown中绑定。

为此,我使用了ajax和jquery……我成功地将值传递给了控制器,并将值传递给了ajax..But,问题是下拉框中的值没有绑定。谁能告诉我可能出了什么问题?

问题是该值显示在alert...its中,而不是显示在第二个下拉列表中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-21 23:44:25

我在第二个下拉列表中看到了类似<form:option value="${led}"></form:option>的内容。您有该下拉列表的值,但是没有为其设置显示标签,但是对于第一个下拉列表,您有类似于<form:option value="${led.ledName}">${ledger.ledrName}</form:option>的值。这是不是正确地完成了某些操作,但是您没有正确显示它?

票数 1
EN

Stack Overflow用户

发布于 2012-03-21 23:36:37

据我所知,您可以成功地从服务器获取数据.So您的url,映射和参数正确返回的响应没有反映在浏览器中.If我理解正确您需要用新的data .Like this刷新页面(dom树或特定组件)

票数 1
EN

Stack Overflow用户

发布于 2012-03-29 19:44:20

您当前的代码将无法工作,因为它是一个ajax调用。$函数只在页面加载时起作用,这意味着它只在页面加载时绑定任何变量。这就是为什么你必须删除第二个下拉菜单的选项html代码,并为第二个下拉选项添加java脚本代码,如下所示:

代码语言:javascript
复制
myselect = document.getElementById("c01");

//第二个选项

代码语言:javascript
复制
theOption=document.createElement("OPTION");

theText=document.createTextNode("JavaScript Tutorial II");

theOption.appendChild(theText);

//该选项有一个值,一个URL,所以我们设置该值

代码语言:javascript
复制
theOption.setAttribute("value","index.html");

myselect.appendChild(theOption);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9806390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档