我有两个下拉列表。 第一次下拉: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>
第二滴:
<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
@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
调用此方法function 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中。当我选择第一个下拉列表的值时,其对应的值应该在第二个下拉列表中绑定。
因为我已经使用了ajax和jquery ...我成功地获取了控制器的值并将值传递给ajax ..但问题是值没有绑定在下拉框中。 任何人都可以告诉我可能出了什么问题吗?
prblem是在值显示在警报中...它没有显示在第二个下拉列表中。?
答案 0 :(得分:1)
我理解你可以从服务器中获取数据。所以你的网址,映射和params正确发送。但返回的响应没有反映在浏览器中。如果我理解正确你需要刷新页面(dom树,或特定组件)新数据。与this
相似答案 1 :(得分:1)
我在第二次下拉中看到<form:option value="${led}"></form:option>
。您拥有该下拉列表的值,但没有为此设置显示标签,但对于第一个下拉列表,您有<form:option value="${led.ledName}">${ledger.ledrName}</form:option>
。这是正确完成的,但你没有正确显示它?
答案 2 :(得分:0)
您的当前代码无效,因为它是一个ajax调用。并且$ function仅适用于页面加载,这意味着它将仅在页面加载时绑定任何变量。这就是为什么你必须删除第二个下拉列表的选项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);