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

单选框(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. Firebird reset SYSDBA password

    Firebird 重置超级管理员SYSDBA密码 首先登陆到服务器上(以下以Windows系统演示),命令行进入安装目录,我这里是 D:\-Installer\-Firebird\Firebird-3 ...

  2. [转]Lost parameter value during SQL trace in EF Core DbParameter 为 问号 ?

    本文转自:https://stackoverflow.com/questions/44202478/lost-parameter-value-during-sql-trace-in-ef-core 问 ...

  3. 关于jquery的入门,简单的封装。

    看过不同的博客,觉得以下的博客写的比较简洁明了,通俗易懂. 关于jquery博客:http://www.cnblogs.com/moqiutao/p/6523924.html 关于js:http:// ...

  4. MVC 导出Execl 的总结几种方式 (三)

    第三种方式呢,就是借用第三方插件 NPOI 来实现Execl 导出 第一步:在NuGut包中下载NPOI 组件 第二步:编辑控制器代码 public FileResult ExcelNewKeyPro ...

  5. 说说HTML5中label标签的可访问性问题——张鑫旭

    一.开篇叨叨 一般稍微有些经验的页面制作人员都知道label标签可以优雅地扩大表单控件元素的点击区域,例如,单纯的单选框点击区域就鼻屎那么大的地方,经常会点不到位置.因此,label标签的使用对于提高 ...

  6. 在vue中子组件修改props引发的对js深拷贝和浅拷贝的思考

    不管是react还是vue,父级组件与子组件的通信都是通过props来实现的,在vue中父组件的props遵循的是单向数据流,用官方的话说就是,父级的props的更新会向下流动到子组件中,反之则不行. ...

  7. PHP网站(Drupal7)响应过慢之“Wating(TTFB)时间过长”

    直接上图: 这是Chrome浏览器自带的工具分析的.整个url请求的时间为2.59秒,最大的耗时在Wating(TTFB, Time To First Byte),消耗了2.59秒(应该是其他时间太短 ...

  8. x86项目中读取注册表Register数据项的方法

    x86项目中使用Registry读取key/value的时候,会出现重定向的问题,解决方法如下: public static string GetMachineGuid() { string guid ...

  9. Error no matching function for call to 'std::exception::exception(const char [15])'

    Error no matching function for call to 'std::exception::exception(const char [15])' Error 'logic_err ...

  10. python学习笔记之——python模块

    1.python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...