如何更改选项框值更改时文本字段的值

时间:2015-03-21 11:01:29

标签: java jquery ajax spring hibernate

Hiii Guys,我正在开发一个使用Spring MVC和Hibernate框架的项目。我的问题是我正在处理一个Form并以一个Option Box的形式工作。我想在更改选项框值时更改文本字段值。 我已经试过了: -

<script type="text/javascript" >
    $(document).ready(function(){
        $("#venderid").change(function(){
            $.getJSON("getVenderById.htm", {venderId: $(this).val()},
            function(vender){
                var data = JSON.parse(vender);
                var mail = data.email;
                $("#mail").html(mail);
            }
);
        });
    });

</script>

Vender.java

public class Vender {
   private Integer venderid;
     private String vendername;
     private String email;
     private String contact;
    //Setters and getters
}

控制器: -

@RequestMapping(value = "/getVenderById.htm")
    @ResponseBody
    public ModelAndView getVender(@RequestParam("venderId") int vId){
        ModelAndView mav = new ModelAndView();
        mav.addObject("vender", venderDAO.findById(vId));
        System.out.println("=========Ajax Calling============");
        return mav;
    }

每件事情都运转良好,但如何根据供应商ID填写电子邮件的文本框。回调函数中是否有任何错误,或者如何利用供应商对象的值。 Apache服务器控制台窗口========Ajax Calling=======上的另一个问题是打印意味着数据来自数据库。但我如何利用它请帮助。并提前感谢。

3 个答案:

答案 0 :(得分:0)

在你的ajax回调处理程序中,你期待供应商,而你在控制器中发送MAV。尝试在控制器中执行此操作。

@RequestMapping(value = "/getVenderById.htm")
    @ResponseBody
    public Vender getVender(@RequestParam("venderId") int vId){
        return venderDAO.findById(vId);
    }

答案 1 :(得分:0)

我想添加minion的答案,你需要删除.htm,因为你期待JSON作为回应。

使用ContentNegotiatingViewResolver并将JSON响应设置为默认值是一种更好的做法。

这是一个链接Content Negotiation using Views at spring.io

答案 2 :(得分:0)

请调试或console.log回调中的供应商值,如下所示:

function(vender){
       console.log(vender); 
       var data = JSON.parse(vender);
       var mail = data.email;
       $("#mail").html(mail);
}

然后复制此处的值