HTML、jsp页面中radio,checkbox,select数据回显功能,默认被选中问题
最近常常遇到各种复选框、单选框、下拉框的默认被选中的问题,开始也是绞尽脑汁的想办法,今天写一篇学习总结的博文来写一下学习总结。
单选框(radio)默认被选中:
一、jstl技术进行回显
<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。
注意:页面要主动引入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");
<input type="radio" name="sex" value="男" />男
<input type="radio" name="sex" value="女"/>女
注意:返回值中的集合对象中必须 有sex这个值。
复选框(ckeckbox)默认被选中:
设计思路:
- 通过ajax加载页面数据后将数据存入隐藏域中
- 用jQuery读取隐藏域的数据存入变量中
- 遍历复选框,判断复选框的值是否与变量值一致
- 一致的话便通过prop或attr来选中复选框
这个复选框的根据数据默认被选中就不演示了。
复选框永久默认被选中的实现代码:
<input name="checkbox" type="checkbox" value="checkbox" checked="checked" />
下拉框(select)数据回显,默认被选中:
设计思路:
- 通过ajax加载页面数据后将数据存入隐藏域中
- 用jQuery读取隐藏域的数据存入变量中
- 遍历下拉框,判断下拉框的值或内容是否与变量值一致
- 一致的话便通过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 = $('<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 微信公众号,有兴趣关注一下谢谢支持。
HTML、jsp页面中radio,checkbox,select数据回显功能,默认被选中问题的更多相关文章
- 在JSP页面中输出JSON格式数据
JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...
- jquery实现select数据回显
[html] view plain copy <select class="div_select_re" id="edit_technicalGrade&q ...
- 关于【vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据】的优化
之前写的[vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据]这篇博客.功能虽然实现了相对应的功能.但是用起来很不爽.所以进行了优化. 备注:最近可能没时 ...
- layui在open弹出层回显,解决动态select数据回显问题
//监听数据表格工具条 table.on('tool(contentList)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 l ...
- ant design for vue select 数据回显问题
例如: 想要回显id为1的温度, 结果直接在select框中显示了1,而不是选中了温度, 此时因为select中的value是string类型, 而我们设置的id是number类型, 对应不上, 所以 ...
- springmvc 数据回显功能
按下 修改数据之后 修改功能实现-转向修改页面 2)控制层实现准备数据,并转向修改页面 ~ PersonController.java package cn.itcast.springmvc.cont ...
- vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据。
业务的需要:我要对与会人员勾选,记录所选的与会人员,并且点击到别的页面上时也要记录所勾选的.第一次尝试,每次点击下一页数据都会清空.然后我就去element ui官网查看了api.实现如下: 在tab ...
- EasyUI-combotree 下拉树 数据回显时默认选中
组合树(combotree)把选择控件和下拉树结合起来.它与组合框(combobox)相似,不同的是把列表替换成树组件.组合树(combotree)支持带有用于多选的树状态复选框的树. 依赖 comb ...
- Thymeleaf select 数据回显 选中
<select style='width: 148.15px' name="dlrlx" th:field="*{Ygdly.dlrlx}"> &l ...
随机推荐
- Node.js之Express三
端午节3天说没就没了,自己的脚伤都快一个月了还没好,原本想着去桂林或者厦门呢,可计划赶不上变化,看自己公司C#软件工程师的招聘条件有要求MongoDb,年前就打算自己学习下,买的这本书就叫Node.j ...
- IDF实验室—不难不易的js加密
查看源代码 <html> <head> <script src="/tpl/wctf/Public/js/lib/jquery.js">< ...
- iOS开源项目周报0330
由OpenDigg 出品的iOS开源项目周报第十四期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. FengNi ...
- ELK 方案
转自:https://blog.csdn.net/enweitech/article/details/81744250 今天临时收到一个企业客户的项目需求,需要对所有WIndows业务服务器的日志进行 ...
- Linux学习7-Linux常用命令(3)
文件处理命令 命令名称:touch 命令英文原意:touch 命令所在路径:/bin/touch 执行权限:所有用户 功能描述:创建空文件 语法:touch[文件名] 范例: $tou ...
- sql SUM求和
- 使用Keras进行多GPU训练 multi_gpu_model
使用Keras训练具有多个GPU的深度神经网络(照片来源:Nor-Tech.com). 摘要 在今天的博客文章中,我们学习了如何使用多个GPU来训练基于Keras的深度神经网络. 使用多个GPU使我们 ...
- fuzz系列之libfuzzer
前言 本文以 libfuzzer-workshop 为基础 介绍 libFuzzer 的使用. libFuzzer简介 libFuzzer 是一个in-process,coverage-guided, ...
- easyui 笔记
easyui-datagrid:loadFilter:处理服务器端传递过来的参数. 刷新datagrid:$("#xxx").datagrid('reload'): form 表单 ...
- 使用ember-cli脚手架快速构建项目
步骤: 安装Ember. 创建一个新应用程序. 定义路由. 编写一个UI组件. 构建您的应用程序以部署到生产环境. 安装Ember 您可以使用npm(Node.js包管理器,你需要安装node.js) ...