在HTML中從多選下拉框中提取已選中選項的文本內容到后台,被這個問題難倒了。
demo.jsp文件
-
<select id="selecttype" name"type">
-
<option value="" selected="selected">請選擇
</option>
-
<c:forEach items="${typeList}" var="typeList">
-
<option value="${typeList.id}">${typeList.name}
</option>
-
<c:forEach>
-
</select>
如上代碼,想過用設置隱藏域獲取文本內容typeList.name,將隱藏域放在forEach循環內。
<input id="selecttypename" type="hidden" name="typename" value="${typeList.name}" />
后台接收typename為空值,也許遍歷循環的時候把隱藏域也循環出多份了,而同一個Form表單中不能有多個相同name屬性的標簽。
隱藏域放哪里好呢?思考無果后開始查資料,最后找到解決方案。
JavaScript中有一個change事件
JavaScript代碼
-
$(
"#selecttype").change(
function(){
-
$(
"selecttypename").val($(
"#selecttype").find(
"option:selected").text());
-
});
當觸發select框選項改變的條件,將框內選中的文本內容傳遞給隱藏域的value值,這樣隱藏域也能隨自己心意放在合適的位置了。