基于单个表单中另一个表单的输入填充下拉列表,而不提交表单(SpringMVC+jsp)
我有一个两个下拉表单:在一个.jsp文件中的单个表单中选择,我想根据第一个下拉列表的选择填充第二个下拉列表,但是问题是我无法提交表单,因为我已经有一个控制器映射,可以将表单值保存到DB。 我知道这可以用AJAX来完成。虽然我对AJAX不太熟悉,但我更喜欢后端开发。因此,我想找到一个暂时不使用AJAX的解决方案。 尽管这听起来像是一个愚蠢的问题,但任何指向起点的指示都是非常感谢的 与Danny的回复相对应的更新 我想我对建议的方法有问题基于单个表单中另一个表单的输入填充下拉列表,而不提交表单(SpringMVC+jsp),jsp,dynamic,spring-mvc,drop-down-menu,Jsp,Dynamic,Spring Mvc,Drop Down Menu,我有一个两个下拉表单:在一个.jsp文件中的单个表单中选择,我想根据第一个下拉列表的选择填充第二个下拉列表,但是问题是我无法提交表单,因为我已经有一个控制器映射,可以将表单值保存到DB。 我知道这可以用AJAX来完成。虽然我对AJAX不太熟悉,但我更喜欢后端开发。因此,我想找到一个暂时不使用AJAX的解决方案。 尽管这听起来像是一个愚蠢的问题,但任何指向起点的指示都是非常感谢的 与Danny的回复相对应的更新 我想我对建议的方法有问题 在客户端,使用JQuery,它使用POST从Spring M
在客户端,使用JQuery,它使用POST从Spring MVC控制器请求数据: 问题是我已经有了一个表单提交控制器mappingPOST,比如说/saveUser.htm 也许我会用一个例子来解释我的问题 这里我有两个下拉列表国家和省
<form:select path="country" cssClass="dropdown" >
<form:select path="province" cssClass="dropdown" >
不是
@RequestMapping(value = "/getOptions" method=RequestMethod.POST)
@ResponseBody
public String getOptionds(HttpServletResponse response)
不过
问候,,
Carl在客户端使用JQuery,它使用POST从Spring MVC控制器请求数据:
$.post("/getOptions", function(options) {
.each(options, function(val, text) {
$('#mySelect').append(
$('<option></option>').val(val).html(text)
);
});
});
我可能会错过一些细节,但这是概念。
希望对您有所帮助。在客户端使用JQuery,它使用POST从您的Spring MVC控制器请求数据:
$.post("/getOptions", function(options) {
.each(options, function(val, text) {
$('#mySelect').append(
$('<option></option>').val(val).html(text)
);
});
});
我可能会错过一些细节,但这是概念。
希望这能有所帮助。尝试以下方法:
$.ajax({
type: "POST",
url: "someUrl",
dataType: "json",
data: {
varname1 : "varvalue1",
varname2 : "varvalue2"
},
success: function (data) {
$('#selectName').empty(); // empty existing list
$('#selectName').append('<option value="">Some Label</option>');
$.each(data, function (varvalue, vartext){
$('#selectName').append($('<option></option>').val(varvalue).html(vartext));
});
}
});
@RequestMapping设置为/someUrl的POST方法
@ResponseBody表示返回的字符串应用作数据
@RequestBody保存可选的url/数据参数,如下所示:
varname1=varvalue1&varname2=varvalue2
您必须添加一些逻辑来创建包含第二个列表内容的JSON字符串,比如这样
{"selectId1":"selectValue1","selectId2":"selectValue2",..."selectId9":"selectValue9"}
然后,select将填充如下选项:
<option value="">Some Label</option>
<option value="selectId1">"selectValue1"</option>
<option value="selectId2">"selectValue2"</option>
...
<option value="selectId9">"selectValue9"</option>
试着这样做:
$.ajax({
type: "POST",
url: "someUrl",
dataType: "json",
data: {
varname1 : "varvalue1",
varname2 : "varvalue2"
},
success: function (data) {
$('#selectName').empty(); // empty existing list
$('#selectName').append('<option value="">Some Label</option>');
$.each(data, function (varvalue, vartext){
$('#selectName').append($('<option></option>').val(varvalue).html(vartext));
});
}
});
@RequestMapping设置为/someUrl的POST方法
@ResponseBody表示返回的字符串应用作数据
@RequestBody保存可选的url/数据参数,如下所示:
varname1=varvalue1&varname2=varvalue2
您必须添加一些逻辑来创建包含第二个列表内容的JSON字符串,比如这样
{"selectId1":"selectValue1","selectId2":"selectValue2",..."selectId9":"selectValue9"}
然后,select将填充如下选项:
<option value="">Some Label</option>
<option value="selectId1">"selectValue1"</option>
<option value="selectId2">"selectValue2"</option>
...
<option value="selectId9">"selectValue9"</option>