在以前我做下拉选择框的时候,我数据库虽说创建了 id 和name 两列,但是我通常都只是存一个id,因为我不知道如何同时给到后台,今天学到一手,在此作为分享和记录
以下拉选取部门name 为例
<select onchange="selectpeople();$('#deptName').val($('#deptId option:selected').text());" id="deptId" name="deptId">
<option selected="selected">选择接收部门</option>
<c:forEach items="${assdept }" var="assdept">
<option value="${assdept.id }">${assdept.name}</option>
</c:forEach>
</select>
//建一个input 隐藏域
<input type="hidden" id="deptName" name="deptName" value="">
以上就可以把name和id同时传给后台了。
拓展一下下拉选中部门,人员随之变化的小功能
页面显示接收人
<select id="userId" name="userId" onchange="$('#userName').val($('#userId option:selected').text());">
<option selected>选择接收人</option>
</select>
js代码
function selectpeople(){
var deptId=$("#deptId").val();
$("#userId").empty();
$.ajax({
type:"post",
url:"<%=basePath%>assignmission/selectuser.do",
data:{deptId:deptId},
dataType:"json",
async:false, //false为同步执行
cache:false, //false不会从浏览器缓存中加载请求信息
success: function(data){
var html='';
var userList =data.userList;
//根据后台传来的userList集合,页面进行遍历,拼接
html += "<option selected >请选择接收人</option>";
for(var i=0;i<userList.length;i++){
html += "<option value='"+userList[i].userId+"'>"+userList[i].name+"</option>";
}
$("#userId").append(html);
}
});
}
好了,以上,就是主要内容。
------小段同学分享自2019.03.05