前端页面中各种常用数据回显、默认被选中问题

最近常常遇到各种复选框、单选框、下拉框的默认被选中的问题,开始也是绞尽脑汁的想办法,今天写一篇学习总结的博文来写一下学习总结。

单选框(radio)默认被选中:

一、jstl技术进行回显

checked="checked" value="男" />男    
checked="checked" value="女" />女

首先是通过jstl表达式来赋值,同时用分支判断来判断值,成立则执行‘checked=“checked”’选中当前radio。

注意:页面要主动引入jstl标签库哦。<%

@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="f"%>

二、下面是Ajax的方法回显

$.post("update.do", $("form").serialize(), function(res) {
            for(var i in res){
                $("input[name='sex']").val(res[i].sex).prop("checked", true);
            }
        }, "json");

 

注意:返回值中的集合对象中必须 有sex这个值。

复选框(ckeckbox)默认被选中:

设计思路:

  1. 通过ajax加载页面数据后将数据存入隐藏域中
  2. 用jQuery读取隐藏域的数据存入变量中
  3. 遍历复选框,判断复选框的值是否与变量值一致
  4. 一致的话便通过prop或attr来选中复选框

这个复选框的根据数据默认被选中就不演示了。

 

复选框永久默认被选中的实现代码:

 

 

下拉框(select)数据回显,默认被选中:

 

设计思路:

  1. 通过ajax加载页面数据后将数据存入隐藏域中
  2. 用jQuery读取隐藏域的数据存入变量中
  3. 遍历下拉框,判断下拉框的值或内容是否与变量值一致
  4. 一致的话便通过prop或attr来设置当前的option为选中

实现代码:

 

$.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 = $('');
	    select.append(option);
	    }
	},
	error : function() {
		alert("下拉框加载异常!");
	}
});

核心代码:

/***下拉框默认被选中(数据回显)*****/
$("#select").children("option").each(function(){
	if($(this).val() == $("#optionT").val()){
		$(this).attr("selected",true);
	}
});

 

 

下面是一个最简洁的写法:

$("#select").val(res[i].zid);//直接在下拉菜单中追加值即可。

 

以上就是本人总结的默认被选中的方法。

欢迎批评建议,感谢采纳。

H080701-0      微信公众号,有兴趣关注一下谢谢支持。

前端页面中各种常用数据回显、默认被选中问题_第1张图片

你可能感兴趣的:(Web学习笔录)