select下拉选择框如何选中name的同时,拿到id的值

在以前我做下拉选择框的时候,我数据库虽说创建了 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 += "";
				for(var i=0;i<userList.length;i++){
					html += "+userList[i].name+"";	
				}
				$("#userId").append(html);
			}
		});
	}

好了,以上,就是主要内容。
------小段同学分享自2019.03.05

你可能感兴趣的:(前端)