layui動(dòng)態(tài)設(shè)置單選按鈕選中效果實(shí)例
很久沒(méi)用過(guò)layui框架了,最近在修改代碼時(shí),遇到一個(gè)問(wèn)題,就是怎么動(dòng)態(tài)設(shè)置選中單選按鈕。需求是根據(jù)后臺(tái)返回的數(shù)據(jù)中的性別(0和1)設(shè)置動(dòng)態(tài)選中性別單選按鈕。
效果圖如下:
前端頁(yè)面代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>個(gè)人資料--layui后臺(tái)管理</title> <link rel="stylesheet" href="/layui/css/layui.css" rel="external nofollow" /> <link rel="stylesheet" href="/css/user.css" rel="external nofollow" /> </head> <body class="childrenBody"> <form class="layui-form" lay-filter="form"> <div class="user_left"> <div class="layui-form-item"> <label class="layui-form-label">用戶名</label> <div class="layui-input-block"> <input class="layui-input layui-disabled username" name="username" disabled /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">真實(shí)姓名</label> <div class="layui-input-block"> <input class="layui-input realName" lay-verify="required" name="name" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">性別</label> <div class="layui-input-block"> <input type="radio" name="gender" value="1" title="男" /> <input type="radio" name="gender" value="0" title="女" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">手機(jī)號(hào)碼</label> <div class="layui-input-block"> <input type="tel" class="layui-input phone" lay-verify="required|phone" name="phone" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">出生年月</label> <div class="layui-input-block"> <input class="layui-input birthDate" lay-verify="required|date" name="birthDate" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">興趣愛(ài)好</label> <div class="layui-input-block"> <input type="checkbox" name="like1[Java]" title="Java" /> <input type="checkbox" name="like1[C++]" title="C++" /> <input type="checkbox" name="like1[php]" title="PHP" /> <input type="checkbox" name="like1[javascript]" title="Javascript" /> <input type="checkbox" name="like1[jquery]" title="JQuery" /> <input type="checkbox" name="like1[html]" title="HTML5" /> <input type="checkbox" name="like1[css]" title="CSS3" /> <input type="checkbox" name="like1[VUE]" title="VUE" /> <input type="checkbox" name="like1[Layui]" title="Layui" /> <input type="checkbox" name="like1[EasyUI]" title="EasyUI" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">郵箱</label> <div class="layui-input-block"> <input class="layui-input email" lay-verify="required|email" name="email" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">自我評(píng)價(jià)</label> <div class="layui-input-block"> <textarea placeholder="請(qǐng)輸入內(nèi)容" class="layui-textarea"></textarea> </div> </div> </div> <div class="user_right"> <img class="layui-circle" title="更換頭像" id="userFace" /> </div> <div class="layui-form-item" style="margin-left:5%;"> <div class="layui-input-block"> <a class="layui-btn" lay-submit="" lay-filter="save">立即提交</a> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </form> <script src="/layui/layui.js"></script> <script src="/js/userInfo.js"></script> </body> </html>
后臺(tái)接口/admin/getLogin返回的數(shù)據(jù)格式為
{ ?? ?"code": 200, ?? ?"data": { ?? ??? ?"id": 1, ?? ??? ?"name": "超級(jí)管理員", ?? ??? ?"gender": 0, ?? ??? ?"username": "admin", ?? ??? ?"password": "123456", ?? ??? ?"roleId": "11111", ?? ??? ?"head": "/admin/20220520004040.jpg", ?? ??? ?"phone": "18888888888", ?? ??? ?"email": "heyl_163_com@163.com", ?? ??? ?"birthDate": "2022-09-11", ?? ??? ?"unlockCode": "123456", ?? ??? ?"lastLoginTime": "2022-10-15 03:13:09" ?? ?} }
userInfo.js文件的內(nèi)容:
let $, form, $form; layui.config({ base : "/js/" }).use(['form', 'layer', 'laydate'],function(){ let layer = (parent.layer === undefined) ? layui.layer : parent.layer, laydate = layui.laydate, upload = layui.upload; $ = layui.jquery; form = layui.form; $form = $('form'); laydate.render({ elem: '.birthDate' }); $(".realName").attr("placeholder", "請(qǐng)輸入真實(shí)姓名"); $(".phone").attr("placeholder", "請(qǐng)輸入手機(jī)號(hào)碼"); $(".birthDate").attr("placeholder", "請(qǐng)輸入出生年月"); $(".email").attr("placeholder", "請(qǐng)輸入郵箱"); upload.render({ elem: '#userFace', url: '/admin/upload', accept: 'file', done: function(res, index, upload) { $.get("/admin/getLogin", function(response) { $("#userFace").attr("src", response.data.head); layer.msg("頭像修改成功"); }, 'json'); }, error: function(index, upload) { //請(qǐng)求異常回調(diào) } }); $.get("/admin/getLogin", function(response) { let result = response.data; $(".email").val(result.email); $(".phone").val(result.phone); $(".realName").val(result.name); $(".username").val(result.username); $(".birthDate").val(result.birthDate); $("#userFace").attr("src", result.head); $("input:radio[value='" + result.gender +"']").prop("checked", true); }, 'json'); // 提交個(gè)人資料 form.on('submit(save)', function() { let index = layer.msg('提交中,請(qǐng)稍候',{ icon: 16, shade: 0.8, time: false }); let data = form.val("form"); $.post("/admin/updateById", data, function(response) { if(response.code === 200) { setTimeout(function(){ layer.close(index); layer.msg(response.message); }, 2000); } else { layer.alert(response.message, { icon: 2 }); } }, 'json'); }); });
看代碼好像沒(méi)有什么問(wèn)題,但是實(shí)際運(yùn)行卻不會(huì)選中,選擇器也正確獲取到了,這個(gè)問(wèn)題找了很久,幾番周折,最后才發(fā)現(xiàn)原來(lái)是忘記了重新渲染表單,將以上代碼的ajax請(qǐng)求部分修改為以下代碼即可。
$.get("/admin/getLogin", function(response) { let result = response.data; $(".email").val(result.email); $(".phone").val(result.phone); $(".realName").val(result.name); $(".username").val(result.username); $(".birthDate").val(result.birthDate); $("#userFace").attr("src", result.head); $("input:radio[value='" + result.gender +"']").prop("checked", true); form.render(); // 新增的的表單渲染代碼 }, 'json');
后面嘗試了很多次,發(fā)現(xiàn)以下幾種方法均可設(shè)置單選按鈕選中
$("input:radio[value='" + result.gender +"']").prop("checked", true); $("input:radio[value='" + result.gender +"']").attr("checked", true); $("input:radio[value='" + result.gender +"']").prop("checked", "true"); $("input:radio[value='" + result.gender +"']").attr("checked", "true"); $("input:radio[value='" + result.gender +"']").prop("checked", "checked"); $("input:radio[value='" + result.gender +"']").attr("checked", "checked");
此外,layui給我們提供了一個(gè)非常簡(jiǎn)單的方法來(lái)設(shè)置表單的值,可以通過(guò)表單元素的name屬性給表單全部元素賦值
$.get("/admin/getLogin", function(response) { let result = response.data; form.val("form", { "name": result.name, "phone": result.phone, "email": result.email, "gender": result.gender, "username": result.username, "birthDate": result.birthDate }); }, 'json');
總結(jié)
到此這篇關(guān)于layui動(dòng)態(tài)設(shè)置單選按鈕選中效果的文章就介紹到這了,更多相關(guān)layui動(dòng)態(tài)設(shè)置單選按鈕選中內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
bootstrap實(shí)現(xiàn)每隔5秒自動(dòng)輪播效果
這篇文章主要介紹了bootstrap實(shí)現(xiàn)每隔5秒自動(dòng)輪播效果,可以自己設(shè)置輪播間隔時(shí)間,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Javascript實(shí)現(xiàn)登錄框拖拽效果
這篇文章主要為大家詳細(xì)介紹了Javascript實(shí)現(xiàn)登錄框拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10詳解JavaScript中Arguments對(duì)象用途
本文主要介紹了詳解JavaScript中Arguments對(duì)象用途,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08JS實(shí)現(xiàn)簡(jiǎn)易的圖片拖拽排序?qū)嵗a
這篇文章主要介紹了JS實(shí)現(xiàn)簡(jiǎn)易的圖片拖拽排序?qū)嵗a,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06JS自動(dòng)跳轉(zhuǎn)手機(jī)移動(dòng)網(wǎng)頁(yè)的實(shí)現(xiàn)方法
本文主要介紹了JS自動(dòng)跳轉(zhuǎn)手機(jī)移動(dòng)網(wǎng)頁(yè)的實(shí)現(xiàn)方法,可以通過(guò)檢查 navigator.userAgent 屬性來(lái)識(shí)別用戶代理字符串中包含的設(shè)備信息,下面就詳細(xì)的來(lái)介紹一下具體用法,感興趣的可以了解一下2024-03-03基于Bootstrap的UI擴(kuò)展 StyleBootstrap
這篇文章主要為大家詳細(xì)介紹了基于Bootstrap的UI擴(kuò)展: StyleBootstrap,感興趣的小伙伴們可以參考一下2016-06-06簡(jiǎn)單實(shí)現(xiàn)js浮動(dòng)框
這篇文章主要為大家詳細(xì)介紹了如何簡(jiǎn)單實(shí)現(xiàn)js浮動(dòng)框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12