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就行了,有帮助麻烦点个采纳【本回答右上角】,谢谢~~
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。。
这里的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>
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!