layui数据表格单选框性别回显怎么弄?性别一直回显不上


    else if (obj.event === 'edit') {
                layer.open({
                    //layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
                    type: 1,
                    title: "编辑客户信息",
                    maxmin : true,
                    shadeClose : true,
                    btn: ['确认', '取消'],//弹出层按钮
                    area: ['550px', '550px'],
                    content: $("#popUpdateTest"),
                    success : function(layero, index) {
                        $("#custname").val(data.custname);
                        $("#identity").val(data.identity);
                        $("#address").val(data.address);
                        $("#career").val(data.career);
                        $("#phone").val(data.phone);
                      /* var xin=$("input[name='sex']:checked").val();
                       xin=data.sex*/
                      var sss= $("input[name=sex][value='0']").attr("checked", sex == 0 ? true : false);
                        var sss= $("input[name=sex][value='1']").attr("checked", sex == 1 ? true : false);
                        sss.val(data.sex)
                        form.render();
                        //表单数据回显


                    }
            });

checked属性属于property,property需要用prop来设置,attr用于设置attribute,如<div **index** ="xxxx">这个标签中的index是attribute。dom.index='xxxx'这种是property,不出现在dom上。虽然都叫属性,但是不一样。

jQuery 1.5+ 已经区分设置这2种属性了,需要用对应方法来设置

将下面2句中的attr改为prop就行了,有帮助麻烦点个采纳【本回答右上角】,谢谢~~

img

 var sss = $("input[name=sex][value='1']").attr("checked", data.sex == "1" ? true : false);
var sss = $("input[name=sex][value='0']").attr("checked", data.sex == "0" ? true : false);
sss.val(data.sex)

===>

 var sss = $("input[name=sex][value='1']").prop("checked", data.sex == "1" ? true : false);
var sss = $("input[name=sex][value='0']").prop("checked", data.sex == "0" ? true : false);

//sss.val(data.sex)///这句不需要,这句还会导致修改性别女的值为1,导致性别出错,从而也无法选中女性的radio了,值从0倍被改为1。。

img

这里的sex变量看不见定义。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!

PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632 https://vip.csdn.net/askvip?utm_source=1146287632


<%--
  Created by IntelliJ IDEA.
  User: ren
  Date: 2021/8/3
  Time: 20:57
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

<!DOCTYPE html>

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>
       客户管理
    </title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">
    <link rel="stylesheet" href="css/main.css" media="all">
    <link rel="stylesheet" href="css/bootstrap.css">
    <script type="text/javascript" src="lib/loading/okLoading.js"></script>
</head>
<body>
<div class="x-nav">
            <span class="layui-breadcrumb">
              <a><cite>首页</cite></a>
              <a><cite>基础管理</cite></a>
              <a><cite>客户列表</cite></a>
            </span>
    <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right"  href="javascript:location.replace(location.href);" title="刷新"><i class="layui-icon" style="line-height:30px"></i></a>
</div>
<div class="x-body">
       <%--开启头部工具栏--%>
    <script type="text/html" id="toolbar">
        <div class="layui-btn-container">
            <button class="layui-btn layui-btn-sm" lay-event="getCheckData">添加客户</button>
        </div>
    </script>
        <%-- 删除修改行数据--%>
        <script type="text/html" id="bar">
            <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
            <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
        </script>
<%--方法渲染,表格--%>
    <table id="demo" lay-filter="test"></table>


    <div id="page"></div>

</div>

<script src="lib/layui/layui.js" charset="utf-8"></script>
<script src="js/x-layui.js" charset="utf-8"></script>
<script>
    layui.use(['laydate','element','laypage','layer','table','form'], function(){
        $ = layui.jquery;//jquery
        laypage = layui.laypage;//分页
        var form = layui.form;
        var  layer = layui.layer;//弹出层\
        var table = layui.table;
        okLoading.close($);
        //以上模块根据需要引入
        //第一个实例
        var tableIns= table.render({
            elem: '#demo'
            ,height: 312
            ,url: 'selectCustomerList' //数据接口
            ,page: true //开启分页
            ,toolbar: '#toolbar' //开启头部工具栏,并为其绑定左侧模板
            ,cols: [[ //表头
                {field: 'identity', title: '身份证号', width:120, sort: true}
                ,{field: 'custname', title: '客户名称', width:80}
                ,{field: 'sex', title: '性别', width:80, sort: true,templet: function(d){if(d.sex == 1){return '男'}else{return '女'}}}
                ,{field: 'address', title: '地址', width:80}
                ,{field: 'phone', title: '手机号', width: 80}
                ,{field: 'career', title: '职业', width: 80, sort: true}
                ,{field: 'createtime', title: '录入时间', width: 80, sort: true}
                ,{fixed: 'right', title:'操作', toolbar: '#bar', width:150}
            ]]
        });
        //添加头工具条的单击事件
        table.on('toolbar(test)', function(obj){
            //打开弹出层,指向新增页面
            layer.open({
                type: 2,
                content: 'customer_add.jsp', //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']
                title:'添加客户',
                area: ['550px', '550px']
            });
        });

        //监听单元格编辑
        table.on('edit(test)', function(obj){
            var value = obj.value, //得到修改后的值
                data = obj.data, //得到所在行所有键值
                field = obj.field; //得到字段

        });


        //添加工具条事件
        table.on('tool(test)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
            if(layEvent == 'del'){ //删除
                layer.confirm('真的删除行么', function(index){
                    //向服务端发送删除指令
                    $.ajax({
                        type:"post",
                        url:"deleteCustomer",
                        data:{"identity":data.identity},
                        success:function(result){
                            if(result=="success"){
                                obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
                                layer.close(index);
                                console.log(index);
                                layer.msg("删除成功", {icon: 6});

                            }else {
                                layer.msg("删除失败", {icon: 5});
                            }

                        }
                    });
                });
            }
       /*     else if(layEvent === 'edit'){ //编辑
                //do something
                //打开弹出层
                layer.open({
                    type: 2,
                    data:{"data":data},
                    content: 'customer_byId.jsp',
                    title: '客户信息',
                    resize: true,//能够拉伸
                    area: ['550px', '550px'],//页面大小
                    success:function (layero, index){
                         //获取子页面中的元素,给元素传值。两种方法都可行,"#inp1"对应子页面传入输入框的id号
                        //传客户姓名
                        var inp = $(layero).find("iframe").contents().find("#inp1");
                        inp.val(data.custname);
                    //    传身份证号
                        var inp2 = $(layero).find("iframe").contents().find("#inp2");
                        inp2.val(data.identity);
                    //    传地址
                        var inp3 = $(layero).find("iframe").contents().find("#inp3");
                        inp3.val(data.address);
                    //    传职业
                        var inp4 = $(layero).find("iframe").contents().find("#inp4");
                        inp4.val(data.career);
                    //    传电话
                        var inp5 = $(layero).find("iframe").contents().find("#inp5");
                        inp5.val(data.phone);
                    //    传性别
                        var inp6 = $(layero).find("iframe").contents().find("input[name=sex][value='0']").attr("checked",data.sex == 0 ? true : false);
                        var inp6 = $(layero).find("iframe").contents().find("input[name=sex][value='1']").attr("checked",data.sex == 1 ? true : false);
                        inp6.val(data.sex);
                      /!*  var body = layer.getChildFrame('body', index);
                        //获取content的窗口
                        var iframeWin = layero.find('iframe')[0].contentWindow;
                        body.find("#inp1").val(data.custname);
                        body.find("#inp2").val(data.identity);
                        body.find("#inp3").val(data.address);
                        body.find("#inp4").val(data.career);
                        body.find("#inp5").val(data.phone);
                        body.find("input[name=sex][value=0]").attr("checked",data.sex == 0 ? true : false);
                        body.find("input[name=sex][value=1]").attr("checked",data.sex == 1 ? true : false);*!/
                    }

                })
            }*/
            else if (obj.event === 'edit') {
                layer.open({
                    //layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
                    type: 1,
                    title: "编辑客户信息",
                    maxmin : true,
                    shadeClose : true,
                    area: ['900px', '600px'],
                    content: $("#popUpdateTest"),
                    success : function(layero, index) {

                        $("#custname").val(data.custname);
                        $("#identity").val(data.identity);
                        $("#address").val(data.address);
                        $("#career").val(data.career);
                        $("#phone").val(data.phone);
                        var sss=$("input[name=sex][value='1']").attr("checked", data.sex == "男" ? true : false);
                        var sss=$("input[name=sex][value='0']").attr("checked", data.sex == "女" ? true : false);
                        sss.val(data.sex)




                        form.render();
                        //表单数据回显


                    }
            });
                //动态向表传递赋值可以参看文章进行修改界面的更新前数据的显示,当然也是异步请求的要数据的修改数据的获取
                setFormValue(obj,data);

            }
        });
    });
</script>
<%-- 这里是弹出层的表单信息--%>
<%-- 表单的id用于表单的选择,style是在本页隐藏,只有点击编辑才会弹出--%>
<div class="layui-row" id="popUpdateTest" style="display:none;">
    <div class="layui-col-md10">
        <form class="layui-form layui-from-pane" action="" style="margin-top:20px" lay-filter="scoreRuleForm">

            <div class="layui-form-item">
                <label for="custname" class="layui-form-label">
                    <span class="x-red">*</span>客户姓名
                </label>
                <div class="layui-input-block">
                    <input type="text" name="custname"  required  lay-verify="required" autocomplete="off" placeholder="请输入客户姓名" class="layui-input" id="custname">
                </div>
            </div>
            <div class="layui-form-item">
                <label for="identity" class="layui-form-label">
                    <span class="x-red">*</span>身份证号
                </label>
                <div class="layui-input-block">
                    <input type="text" name="identity"  required  lay-verify="required" autocomplete="off" placeholder="请输入身份证号" class="layui-input" id="identity">
                </div>
            </div>

            <div class="layui-form-item">
                <label for="address" class="layui-form-label">
                    <span class="x-red">*</span>客户地址
                </label>
                <div class="layui-input-block">
                    <input type="text" name="address"  required  lay-verify="required" autocomplete="off" placeholder="请输入地址" class="layui-input" id="address">
                </div>
            </div>

            <div class="layui-form-item">
                <label for="career" class="layui-form-label">
                    <span class="x-red">*</span>客户职业
                </label>
                <div class="layui-input-block">
                    <input type="text" name="career"   autocomplete="off" placeholder="请输入客户职业" class="layui-input" id="career">
                </div>
            </div>

            <div class="layui-form-item">
                <label for="phone" class="layui-form-label">
                    <span class="x-red">*</span>客户电话
                </label>
                <div class="layui-input-block">
                    <input type="text" name="phone"  required  lay-verify="required" autocomplete="off" placeholder="请输入联系方式" class="layui-input" id="phone">
                </div>
            </div>
            <div class="layui-form-item">
                <label class="layui-form-label">性别</label>
                <div class="layui-input-block">
                    <input type="radio" name="sex" value="1" title="男">
                    <input type="radio" name="sex" value="0" title="女">
                </div>
            </div>

            <div class="layui-form-item" style="margin-top:40px">
                <div class="layui-input-block">
                    <button class="layui-btn  layui-btn-submit " lay-submit="" lay-filter="demo11">确认修改</button>
                    <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                </div>
            </div>
        </form>
    </div>
</div>
</body>
</html>

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632