最近經常遇到各類複選框、單選框、下拉框的默認被選中的問題,開始也是絞盡腦汁的想辦法,今天寫一篇學習總結的博文來寫一下學習總結。java
1、jstl技術進行回顯ajax
<input type="radio" name="sex"
<f:if test="${c.sex=='男' }">checked="checked"</f:if> value="男" />男
<input type="radio" name="sex"
<f:if test="${c.sex=='女' }">checked="checked"</f:if> value="女" />女
首先是經過jstl表達式來賦值,同時用分支判斷來判斷值,成立則執行‘checked=「checked」’選中當前radio。json
注意:頁面要主動引入jstl標籤庫哦。<%微信
@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="f"%>app
2、下面是Ajax的方法回顯jsp
$.post("update.do", $("form").serialize(), function(res) { for(var i in res){ $("input[name='sex']").val(res[i].sex).prop("checked", true); } }, "json");
<input type="radio" name="sex" value="男" />男 <input type="radio" name="sex" value="女"/>女
注意:返回值中的集合對象中必須 有sex這個值。async
設計思路:post
這個複選框的根據數據默認被選中就不演示了。學習
複選框永久默認被選中的實現代碼:this
<input name="checkbox" type="checkbox" value="checkbox" checked="checked" />
設計思路:
實現代碼:
$.ajax({ method : "get", url : "QueryAllDomainServlet", dataType : "json", async : false, success : function(res) { var select = $("#select"); for (var i = 0; i < res.length; i++) { var option = $('<option value="'+res[i].zid+'">' + res[i].zname + '</option>'); select.append(option); } }, error : function() { alert("下拉框加載異常!"); } });
<input type="hidden" value="" id="optionT" />
<select id="select"> <option value="0">--請選擇--</option> <option value="1">張三</option> <!-- 經過ajax加載 --> </select>
核心代碼:
/***下拉框默認被選中(數據回顯)*****/ $("#select").children("option").each(function(){ if($(this).val() == $("#optionT").val()){ $(this).attr("selected",true); } });
下面是一個最簡潔的寫法:
$("#select").val(res[i].zid);//直接在下拉菜單中追加值便可。
以上就是本人總結的默認被選中的方法。
歡迎批評建議,感謝採納。
H080701-0 微信公衆號,有興趣關注一下謝謝支持。