layui動(dòng)態(tài)設(shè)置單選按鈕選中效果實(shí)例
很久沒用過layui框架了,最近在修改代碼時(shí),遇到一個(gè)問題,就是怎么動(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">興趣愛好</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');
});
});看代碼好像沒有什么問題,但是實(shí)際運(yùn)行卻不會(huì)選中,選擇器也正確獲取到了,這個(gè)問題找了很久,幾番周折,最后才發(fā)現(xiàn)原來是忘記了重新渲染表單,將以上代碼的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)單的方法來設(shè)置表單的值,可以通過表單元素的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-12
Javascript實(shí)現(xiàn)登錄框拖拽效果
這篇文章主要為大家詳細(xì)介紹了Javascript實(shí)現(xiàn)登錄框拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
詳解JavaScript中Arguments對(duì)象用途
本文主要介紹了詳解JavaScript中Arguments對(duì)象用途,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
JS實(shí)現(xiàn)簡(jiǎn)易的圖片拖拽排序?qū)嵗a
這篇文章主要介紹了JS實(shí)現(xiàn)簡(jiǎn)易的圖片拖拽排序?qū)嵗a,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
JS自動(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)方法,可以通過檢查 navigator.userAgent 屬性來識(shí)別用戶代理字符串中包含的設(shè)備信息,下面就詳細(xì)的來介紹一下具體用法,感興趣的可以了解一下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

