我有两个下拉列表。第一个下拉列表:1在此处输入代码
<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:
<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控制器
@Controller
@RequestMapping("/accreq")使用以下映射
@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(){
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中,而不是显示在第二个下拉列表中。
发布于 2012-03-21 23:44:25
我在第二个下拉列表中看到了类似<form:option value="${led}"></form:option>的内容。您有该下拉列表的值,但是没有为其设置显示标签,但是对于第一个下拉列表,您有类似于<form:option value="${led.ledName}">${ledger.ledrName}</form:option>的值。这是不是正确地完成了某些操作,但是您没有正确显示它?
发布于 2012-03-21 23:36:37
据我所知,您可以成功地从服务器获取数据.So您的url,映射和参数正确返回的响应没有反映在浏览器中.If我理解正确您需要用新的data .Like this刷新页面(dom树或特定组件)
发布于 2012-03-29 19:44:20
您当前的代码将无法工作,因为它是一个ajax调用。$函数只在页面加载时起作用,这意味着它只在页面加载时绑定任何变量。这就是为什么你必须删除第二个下拉菜单的选项html代码,并为第二个下拉选项添加java脚本代码,如下所示:
myselect = document.getElementById("c01");//第二个选项
theOption=document.createElement("OPTION");
theText=document.createTextNode("JavaScript Tutorial II");
theOption.appendChild(theText);//该选项有一个值,一个URL,所以我们设置该值
theOption.setAttribute("value","index.html");
myselect.appendChild(theOption);https://stackoverflow.com/questions/9806390
复制相似问题