<tr>
<td width="100" align="right" bgcolor="f7f7f7">
调出公司:
</td>
<td>
<select name="OLD_COM_NAME" style="width:150"
onchange="getDeptsForCom(this.value,'OLD_DEPT_NAME');">
<option value="">
请选择公司
</option>
<c:forEach items="${companys }" var="obj">
<option value="${obj.ORG_ID}">
${obj.ORG_NAME }
</option>
</c:forEach>
</select>
</td>
<td width="100" align="right" bgcolor="f7f7f7">
调出部门:
</td>
<td>
<select name="OLD_DEPT_NAME" style="width:200"
onchange="getPostsForDept(this.value,'OLD_POST_NAME');">
<option value="">
请选择部门
</option>
</select>
</td>
<td width="100" align="right" bgcolor="#f7f7f7">
调出职位:
</td>
<td>
<select name="OLD_POST_NAME" style="width:120"
class="required">
<option value="">
请选择岗位
</option>
</select>
</td>
</tr>
function getDeptsForCom(comCode, sel, value) {
if ("" == comCode) {
$(sel).length = 1;
return;
}
var finish = function (obj) {
var xml = obj.responseXML;
var orgs = xml.getElementsByTagName("org");
var ids = new Array();
var names = new Array();
ids[0] = "";
names[0] = "\u8bf7\u9009\u62e9\u90e8\u95e8";
if (orgs.length > 0) {
for (var i = 0; i < orgs.length; i++) {
ids[i + 1] = orgs[i].childNodes[0].firstChild.data;
names[i + 1] = orgs[i].childNodes[1].lastChild.data;
}
} else {
alert("\u6b64\u516c\u53f8\u6682\u65f6\u65e0\u90e8\u95e8\uff0c\u8bf7\u5148\u5efa\u7acb\u90e8\u95e8\uff01");
}
setOption(ids, names, sel, value);
};
var url = "/system/ajax.shtml?method=getDeptsByCom&orgId=" + comCode;
new Ajax.Request(url, {method:"post", parameters:null, onComplete:finish});
}
function getPostsForDept(deptCode, sel, value) {
if ("" == deptCode) {
$(sel).length = 1;
return;
}
var finish = function (obj) {
var xml = obj.responseXML;
var posts = xml.getElementsByTagName("post");
var ids = new Array();
var names = new Array();
ids[0] = "";
names[0] = "\u8bf7\u9009\u62e9\u5c97\u4f4d";
if (posts.length > 0) {
for (var i = 0; i < posts.length; i++) {
ids[i + 1] = posts[i].childNodes[0].firstChild.data;
names[i + 1] = posts[i].childNodes[1].lastChild.data;
}
} else {
alert("\u6b64\u90e8\u95e8\u6682\u65e0\u5c97\u4f4d\uff0c\u8bf7\u521b\u5efa\u5c97\u4f4d\uff01");
}
setOption(ids, names, sel, value);
};
var url = "/system/ajax.shtml?method=getPostByDept&orgId=" + deptCode;
new Ajax.Request(url, {method:"post", parameters:null, onComplete:finish});
}public ActionForward getAllCom(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
StringBuffer sb = new StringBuffer("<orgs>");
List<Map> list = this.getAllComs();
for (Map map : list) {
sb.append("<org><orgId>").append(map.get("ORG_ID")).append(
"</orgId>").append("<orgName>").append(map.get("ORG_NAME"))
.append("</orgName></org>");
}
sb.append("</orgs>");
String str=sb.toString();
this.responseHtml(response, sb.toString());
return null;
} public ActionForward getDeptsByCom(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
StringBuffer sb = new StringBuffer("<orgs>");
String id=this.getParameter(request, "orgId");
List<Map> list = this.getDeptsByParent(this.getParameter(request,
"orgId"), this.getParameter(request, "orgId"));
this.getXMLDepts(this.getParameter(request, "orgId"), list, sb, "");
sb.append("</orgs>");
String str=sb.toString();
this.responseHtml(response, sb.toString());
return null;
} private StringBuffer getXMLDepts(String comCode, List<Map> list,
StringBuffer sb, String flag) {
flag += "--";
for (Map map : list) {
sb.append("<org><orgId>").append(map.get("ORG_ID")).append(
"</orgId>").append("<orgName>").append(
flag + map.get("ORG_NAME")).append("</orgName></org>");
List<Map> nextlist = this.getDeptsByParent(comCode, map.get(
"ORG_ID").toString());
this.getXMLDepts(comCode, nextlist, sb, flag);
} return sb;
} public ActionForward getPostByDept(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
StringBuffer sb = new StringBuffer("<posts>");
List<Map> list = this.getPositionsByOrgId(this.getParameter(request,
"orgId"));
for (Map map : list) {
sb.append("<post><postId>").append(map.get("POST_ID")).append(
"</postId>").append("<postName>").append(
map.get("POST_NAME")).append("</postName></post>");
}
sb.append("</posts>");
this.responseHtml(response, sb.toString());
return null;
}
<select name="OLD_COM_NAME" style="width:150"
onchange="getDeptsForCom(this.value,'OLD_DEPT_NAME');">
<option value="">
请选择公司
</option>
<c:forEach items="${companys }" var="obj">
<option value="${obj.ORG_ID}">
${obj.ORG_NAME }
</option>
</c:forEach>
</select>
这个select中的obj.ORG_NAME么?
最有效的方法是
在form提交js时获取
给上面的select添加id
<select name="OLD_COM_NAME" id="OLD_COM_NAME" style="width:150" onchange="getDeptsForCom(this.value,'OLD_DEPT_NAME');">
添加id是为了火狐的兼容性
用如下函数你就可以获取到你需要的name了。
function getOrgName(){
var getOrgName;
var selectOrg= document.getElementById("OLD_COM_NAME");
for(var i=0;i<selectOrg.options.length;i++){
if(selectOrg.options[i].selected==true)
{alert();
var id = selectOrg.options[i].value;
var text = selectOrg.options[i].text;
getOrgName = text ;
}
}
}
function getOrgName(){
var getOrgName= selectOrg.options[selectOrg.options.selectedIndex].text;
}