欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

layui動態(tài)設置單選按鈕選中效果實例

 更新時間:2023年06月02日 09:53:56   作者:developer?of?java  
最近在使用layui前端框架,在使用單選按鈕、下拉菜單select、checkbox等控件的時候,往往遇到一些初始化的東西,下面這篇文章主要給大家介紹了關于layui動態(tài)設置單選按鈕選中效果的相關資料,需要的朋友可以參考下

很久沒用過layui框架了,最近在修改代碼時,遇到一個問題,就是怎么動態(tài)設置選中單選按鈕。需求是根據后臺返回的數據中的性別(0和1)設置動態(tài)選中性別單選按鈕。

效果圖如下:

前端頁面代碼如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>個人資料--layui后臺管理</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">真實姓名</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">手機號碼</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">自我評價</label>
				    <div class="layui-input-block">
				    	<textarea placeholder="請輸入內容" 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>

后臺接口/admin/getLogin返回的數據格式為

{
?? ?"code": 200,
?? ?"data": {
?? ??? ?"id": 1,
?? ??? ?"name": "超級管理員",
?? ??? ?"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文件的內容:

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", "請輸入真實姓名");
	$(".phone").attr("placeholder", "請輸入手機號碼");
	$(".birthDate").attr("placeholder", "請輸入出生年月");
	$(".email").attr("placeholder", "請輸入郵箱");
	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) {
			//請求異?;卣{
		}
	});
	$.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');
    // 提交個人資料
    form.on('submit(save)', function() {
    	let index = layer.msg('提交中,請稍候',{
    		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');
	});
});

看代碼好像沒有什么問題,但是實際運行卻不會選中,選擇器也正確獲取到了,這個問題找了很久,幾番周折,最后才發(fā)現原來是忘記了重新渲染表單,將以上代碼的ajax請求部分修改為以下代碼即可。

$.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ā)現以下幾種方法均可設置單選按鈕選中

$("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給我們提供了一個非常簡單的方法來設置表單的值,可以通過表單元素的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');

總結

到此這篇關于layui動態(tài)設置單選按鈕選中效果的文章就介紹到這了,更多相關layui動態(tài)設置單選按鈕選中內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • bootstrap實現每隔5秒自動輪播效果

    bootstrap實現每隔5秒自動輪播效果

    這篇文章主要介紹了bootstrap實現每隔5秒自動輪播效果,可以自己設置輪播間隔時間,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 解析JavaScript數組方法reduce

    解析JavaScript數組方法reduce

    本文主要介紹了JavaScript數組方法reduce的概述、語法、參數、工作原理等,由淺入深,便于理解。需要的朋友可以看下
    2016-12-12
  • JS html事件冒泡和事件捕獲操作示例

    JS html事件冒泡和事件捕獲操作示例

    這篇文章主要介紹了JS html事件冒泡和事件捕獲操作,結合完整實例形式分析了javascript事件冒泡及事件捕獲相關原理與實現方法,需要的朋友可以參考下
    2019-05-05
  • 詳解JS中異常與錯誤處理的正確方法

    詳解JS中異常與錯誤處理的正確方法

    這篇文章主要和大家分享了一些JavaScript中異常與錯誤處理的正確方法,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以參考一下
    2023-04-04
  • Javascript實現登錄框拖拽效果

    Javascript實現登錄框拖拽效果

    這篇文章主要為大家詳細介紹了Javascript實現登錄框拖拽效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 詳解JavaScript中Arguments對象用途

    詳解JavaScript中Arguments對象用途

    本文主要介紹了詳解JavaScript中Arguments對象用途,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JS實現簡易的圖片拖拽排序實例代碼

    JS實現簡易的圖片拖拽排序實例代碼

    這篇文章主要介紹了JS實現簡易的圖片拖拽排序實例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • JS自動跳轉手機移動網頁的實現方法

    JS自動跳轉手機移動網頁的實現方法

    本文主要介紹了JS自動跳轉手機移動網頁的實現方法,可以通過檢查 navigator.userAgent 屬性來識別用戶代理字符串中包含的設備信息,下面就詳細的來介紹一下具體用法,感興趣的可以了解一下
    2024-03-03
  • 基于Bootstrap的UI擴展 StyleBootstrap

    基于Bootstrap的UI擴展 StyleBootstrap

    這篇文章主要為大家詳細介紹了基于Bootstrap的UI擴展: StyleBootstrap,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 簡單實現js浮動框

    簡單實現js浮動框

    這篇文章主要為大家詳細介紹了如何簡單實現js浮動框,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論