编辑还有其他任何方法来填充第二个下拉列表,作为第一个下拉选择jquery。如果有人有链接,请张贴任何链接。
我已经更新了基于第一个下拉列表选择的第二个下拉列表。我正在使用jQuery和Struts2。我想使用jQuery ajax更新第二个下拉列表。谁能帮我把密码。我尝试使用下面的方法,但不知怎的,我无法将参数传递给Action类。提前谢谢你。
http://www.joe-stevens.com/2010/02/23/populate-a-select-dropdown-list-using-jquery-and-ajax/
编辑:和Climbage一样说我正在用代码更新我所拥有的任何东西。
casetermcodes是行动,caseSelect是第一下拉,termSelect是第二。selCaseDropDown是隐藏变量,我希望在Action中获取第一个下拉列表的选定值,其中包含getter和setter方法。我首先坚持将选定的值发送到action类。在这一点上,我没有做任何进一步的工作。
$("#caseSelect").change(
function(){
$("#result").html('Retrieving ...');
var selCase = $("#caseSelect").val();
$.ajax({
type: "POST",
url: "/dwdst/casetermcodes",
data: {selCaseDropDown: selCase},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#termSelect").get(0).options.length = 0;
$("#termSelect").get(0).options[0] = new Option("Term Codes", "-1");
$.each(msg.d, function(index, item) {
$("#termSelect").get(0).options[$("#termSelect").get(0).options.length] = new Option(item.value, item.key);
});
},
error: function() {
alert("Failed to load Term Codes");
$("#result").hide();
}
});
});行动课:
public String execute(){
logger.info("selected value >>"+selCaseDropDown);
return SUCCESS;
}
public String getSelCaseDropDown(){
return selCaseDropDown;
}
public void setSelCaseDropDown(String selCaseDropDown){
this.selCaseDropDown = selCaseDropDown;
}发布于 2011-08-31 14:57:44
我已经通过创建另一个简短的JSP来解决这个问题,它只作为html代码下拉(第二个下拉),在我的操作中,结果将是这个简短的页面。
当第一个页面选择call操作时,使用下面的代码并覆盖jsp中已经显示的下拉操作,而第二个简短的下拉操作仅使用jsp。
getSecondSelect是我所调用的动作,其结果就是那个短的jsp。
tercodeResult是div标记,它被替换为新的下拉列表。
selId是从第一个下拉列表中选择的值。
$.ajax({
type: "GET",
url: "getSecondSelect",
data:"selId=" + selCase,
dataType: "text/html;charset=utf-8",
success: function(msg) {
$("#tercodeResult").html(msg);
}
});发布于 2013-05-30 08:14:04
试试这个,将帮助您在Struts2.0.14中使用jsonplugin-0.32.jar。
struts.xml:
<struts>
<package name="example" extends="json-default">
<action name="HelloWorld" class="example.HelloWorld" >
<result type="json" />
</action>
<action name="HelloWorld1" class="example.HelloWorld" >
<result name="success" >example/HelloWorld.jsp</result>
</action>
</package>
</struts>动作类Helloworld.java:
package prabhakar;
import glb.DB;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* Prabhakar
*/
public class HelloWorld {
private List<StateMaster> stateList = new ArrayList<StateMaster>();
private List<RegnMaster> regnList = new ArrayList<StateMaster>();
private Integer stateId;
public Integer getStateId() {
return this.stateId;
}
public void setStateId(Integer stateId) {
this.stateId = stateId;
}
public List<StateMaster> getStateList() {
return stateList;
}
public void setStateList(List<StateMaster> stateList) {
this.stateList = stateList;
}
public void setRegnList(List<RegnMaster> regnList) {
this.regnList = regnList;
}
public List<RegnMaster> getRegnList() {
return regnList;
}
public String execute() throws Exception {
stateList = DB.getStateData()//
if (stateId != null) {
regnList = DB.getRegnByStateId(stateId);
}
//setMessage(getText(MESSAGE));
return "success";
}
/**
* Provide default valuie for Message property.
*/
}您可以直接调用HelloWorld.action来查看JSON数据,或者可以将JSON数据绑定到下面的表单元素。
JSP页面HelloWorld.jsp:
/*
Prabhakar
*/
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<script>
<%@include file="../js/jquery-1.7.1.min.js"%>
</script>
<html>
<!-- JavaScript Plugins -->
<script>
function getLoad(){
var stateId = $('#state').val();
$.getJSON('HelloWorld.action', {'stateId': stateId},
function(data) {
var divisionList = (data.regnList);
var options = $("#regn");
options.find('option')
.remove()
.end();
options.append($("<option />").val("-1").text("--Select--"));
$.each(divisionList, function() {
options.append($("<option />").val(this.regnId).text(this.regnName));
});
}
);}
</script>
<!-- jQuery-UI Dependent Scripts -->
<body>
State List <s:select name="stateId" list="stateList" id="state" listKey="stateId" onchange="getLoad()" listValue="stateName" headerKey="0" headerValue="--select--" />
Regn List <s:select name="regnId" list="regnList" listKey="regnId" id="regn" listValue="regnName" headerKey="0" headerValue="--select--" />
</body>
</html>https://stackoverflow.com/questions/5464629
复制相似问题