下拉框默认选中的问题?

nimeide1234567890 2012-12-22 12:20:21
$(document).ready(function() {
var url = 'addUser.action';
var params = {
companyid:-1
};
$("#company").empty();
jQuery.post(url, params, createCompany, 'json');
});
function createCompany(data){
var a = data.companylist;
var company = document.getElementById('company');
company.options.length=0;
$("<option value='-1'>--请选择--</option>").appendTo($("#company"));
for(var i=0;i<a.length;i++){
var option = new Option(a[i].companyname, a[i].companyid);
try{
company.add(option);
}catch(e){
}
}
}
......

<body style="margin-top:0; margin-left:0; margin-right:0; margin-bottom:0; width:100%;height:100%;">
<s:iterator value="#request.users" var="users">
<s:form action="updateUser.action" method="post" enctype ="multipart/form-data">
公司:
<select id="company" name="company" onChange="changecompany()" style="width:100px;">
<option value="-1">--请选择--</option>
</select>

姓名:
<s:textfield name="#users.username" theme="simple"></s:textfield>
......

数据在打开页面的时候jquery加载,这里是修改页面,那如何根据得到的公司值#users.companyid让公司下拉框默认选中某个公司?

比如下拉框已经显示了多个公司,如A,B,C公司等,现在是修改页面,比如用户是B公司,那么让B公司默认选中

公司值是#users.companyid,struts2框架
...全文
874 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
猪公公 2012-12-25
  • 打赏
  • 举报
回复
<select id="pgameCode" name="pgameCode"> <option value="0"> --全部-- </option> <c:forEach items="${commpyList}" var="gb"> <option value="${gb.id }" ${vo.id==gb.id?'selected':''}> ${gb.gameName } </option> </c:forEach> </select> 在加载select的时候就判断,如果当前循环的公司id等于你修改公司的id则给它默认选中,当然你必须得把你修改的公司的id传回页面。
galileo_hdh 2012-12-25
  • 打赏
  • 举报
回复
楼主可以采纳二楼三楼的方法的,用struts2的select 标签,把公司id 和名称封装成个map 传递过去
General-M 2012-12-25
  • 打赏
  • 举报
回复
写一个onclick函数,公司下拉框值改变的时候触发,js里面获取id,name之类的,再作相应处理,改变部门,要查数据库的话这边可以用ajax
nimeide1234567890 2012-12-25
  • 打赏
  • 举报
回复
啊?没人帮我啊
nimeide1234567890 2012-12-24
  • 打赏
  • 举报
回复
公司改变的时候,部门如何跟着变啊? <td> 公司: </td> <td> <s:select list="#request.companylist" listKey="companyid" listValue="companyname" value="#session.companyid" headerKey="0" headerValue="--请选择--" theme="simple" onchange="changecompany()"></s:select> </td> </tr> <tr style="background-color:#ffffff;"> <td> 部门: </td> <td> <s:select list="#request.departmentlist" listKey="departmentid" listValue="departmentname" value="#session.departmentid" headerKey="0" headerValue="--请选择--" theme="simple"></s:select> </td> ------------------------------------------- public String getCompany2() throws Exception { String companyid = ActionContext.getContext().getSession().get("companyid").toString(); String departmentid = ActionContext.getContext().getSession().get("departmentid").toString(); db1=new DBControl(); String SQL = "SELECT * FROM company"; ResultSet rs = null; rs = db1.executeQuery(SQL); ArrayList<addUser> companylist = new ArrayList<addUser>(); while (rs.next()) { addUser u1 = new addUser(rs.getString("companyid"),rs.getString("companyname"),"","","",""); companylist.add(u1); } setCompanylist(companylist); SQL = "SELECT * FROM department where companyid='"+companyid+"'"; rs = db1.executeQuery(SQL); ArrayList<addUser> departmentlist = new ArrayList<addUser>(); while (rs.next()) { String dep = URLDecoder.decode(rs.getString("departmentname"),"UTF-8"); addUser u1 = new addUser("","",rs.getString("departmentid"),dep,"",""); departmentlist.add(u1); } request.setAttribute("companylist", companylist); request.setAttribute("departmentlist", departmentlist); return "success"; }
licip 2012-12-22
  • 打赏
  • 举报
回复
像你这种操作,感觉没有必要用jquery的ajax来实现的。 你只需要用<s:select的标签,来非常轻松的实现。后台是那个值,会自动选择的。
General-M 2012-12-22
  • 打赏
  • 举报
回复
换成<s:select>标签

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧