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

单选框(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)默认被选中:

设计思路:

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

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

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

<input name="checkbox" type="checkbox" value="checkbox" checked="checked" />

下拉框(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 = $('<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数据回显功能,默认被选中问题的更多相关文章

  1. 在JSP页面中输出JSON格式数据

    JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...

  2. jquery实现select数据回显

    [html] view plain copy     <select class="div_select_re" id="edit_technicalGrade&q ...

  3. 关于【vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据】的优化

    之前写的[vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据]这篇博客.功能虽然实现了相对应的功能.但是用起来很不爽.所以进行了优化. 备注:最近可能没时 ...

  4. layui在open弹出层回显,解决动态select数据回显问题

    //监听数据表格工具条         table.on('tool(contentList)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 l ...

  5. ant design for vue select 数据回显问题

    例如: 想要回显id为1的温度, 结果直接在select框中显示了1,而不是选中了温度, 此时因为select中的value是string类型, 而我们设置的id是number类型, 对应不上, 所以 ...

  6. springmvc 数据回显功能

    按下 修改数据之后 修改功能实现-转向修改页面 2)控制层实现准备数据,并转向修改页面 ~ PersonController.java package cn.itcast.springmvc.cont ...

  7. vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据。

    业务的需要:我要对与会人员勾选,记录所选的与会人员,并且点击到别的页面上时也要记录所勾选的.第一次尝试,每次点击下一页数据都会清空.然后我就去element ui官网查看了api.实现如下: 在tab ...

  8. EasyUI-combotree 下拉树 数据回显时默认选中

    组合树(combotree)把选择控件和下拉树结合起来.它与组合框(combobox)相似,不同的是把列表替换成树组件.组合树(combotree)支持带有用于多选的树状态复选框的树. 依赖 comb ...

  9. Thymeleaf select 数据回显 选中

    <select style='width: 148.15px' name="dlrlx" th:field="*{Ygdly.dlrlx}"> &l ...

随机推荐

  1. Node.js之Express三

    端午节3天说没就没了,自己的脚伤都快一个月了还没好,原本想着去桂林或者厦门呢,可计划赶不上变化,看自己公司C#软件工程师的招聘条件有要求MongoDb,年前就打算自己学习下,买的这本书就叫Node.j ...

  2. IDF实验室—不难不易的js加密

    查看源代码 <html> <head> <script src="/tpl/wctf/Public/js/lib/jquery.js">< ...

  3. iOS开源项目周报0330

    由OpenDigg 出品的iOS开源项目周报第十四期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. FengNi ...

  4. ELK 方案

    转自:https://blog.csdn.net/enweitech/article/details/81744250 今天临时收到一个企业客户的项目需求,需要对所有WIndows业务服务器的日志进行 ...

  5. Linux学习7-Linux常用命令(3)

    文件处理命令         命令名称:touch 命令英文原意:touch 命令所在路径:/bin/touch 执行权限:所有用户 功能描述:创建空文件 语法:touch[文件名] 范例: $tou ...

  6. sql SUM求和

  7. 使用Keras进行多GPU训练 multi_gpu_model

    使用Keras训练具有多个GPU的深度神经网络(照片来源:Nor-Tech.com). 摘要 在今天的博客文章中,我们学习了如何使用多个GPU来训练基于Keras的深度神经网络. 使用多个GPU使我们 ...

  8. fuzz系列之libfuzzer

    前言 本文以 libfuzzer-workshop 为基础 介绍 libFuzzer 的使用. libFuzzer简介 libFuzzer 是一个in-process,coverage-guided, ...

  9. easyui 笔记

    easyui-datagrid:loadFilter:处理服务器端传递过来的参数. 刷新datagrid:$("#xxx").datagrid('reload'): form 表单 ...

  10. 使用ember-cli脚手架快速构建项目

    步骤: 安装Ember. 创建一个新应用程序. 定义路由. 编写一个UI组件. 构建您的应用程序以部署到生产环境. 安装Ember 您可以使用npm(Node.js包管理器,你需要安装node.js) ...