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

前端LayUI監(jiān)聽事件實例代碼匯總

 更新時間:2024年08月13日 09:58:01   作者:下頁、再停留  
在layui中,我們可以通過layui提供的監(jiān)聽方法來對按鈕事件進行,監(jiān)聽,下面這篇文章主要給大家介紹了關(guān)于前端LayUI監(jiān)聽事件的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

一、監(jiān)聽單選按鈕事件

點擊資源類型單選按鈕時,請求后臺接口,把接口返回的內(nèi)容追加到選擇資源下拉框內(nèi)

HTML

<div class="layui-form-item">
	<label class="layui-form-label">資源類型:</label>
	<div class="layui-input-inline" style="width: 50%">
		<input type="radio" name="kind" lay-filter="kindradio" value="1" title="課件">
		<input type="radio" name="kind" lay-filter="kindradio" value="2" title="視頻">
	</div>
</div>

<div class="layui-form-item">
	<label class="layui-form-label">選擇資源:</label>
	<div class="layui-input-inline" style="width: 50%">
		<select name="public_kejian_id" lay-search="" lay-filter="source"  lay-verify="required" id="kejian_opt">
									
		</select>
	</div>
</div>

JQ

// 監(jiān)聽
form.on('radio(kindradio)',function (data) {
	// 清空下拉框內(nèi)容
	$('#kejian_opt').empty();
	var section_id = $('[name="section_id"]').val()
	console.log(data)	
	$.ajax({
		url:'getKejianVideo',
		type:'POST',
		dataType:'JSON',
		data:{kind:data.value,section_id:section_id},
		success:function (res) {
			console.log(res)
			if (res.code == '200') {
				if (data.value == '1') {
					var tag = '課件';
				}else if (data.value == '2') {
					var tag = '視頻';
				}
				var html = "<option value=''>--直接選擇或搜索選擇--</option>";  
                $(res.data).each(function (v, k) {  
                    html += "<option value='" + k.id + "'>【"+tag+"】"+k.filename+"</option>";  
                });  
                //把遍歷的數(shù)據(jù)放到select里面  
                $("#kejian_opt").append(html);
			}else{
				layer.msg(res.message)
			}  
			//重新刷新了一下下拉框  
            form.render('select'); 
		}
	})
})

二、監(jiān)聽下拉框事件

HTML

<select name="public_kejian_id" lay-search="" lay-filter="source"  lay-verify="required" id="kejian_opt">
									
</select>

JQ  獲取當(dāng)前選中的value值和對應(yīng)的文本

// 監(jiān)聽下拉框
form.on('select(source)',function (data) {
	console.log('選中的id:'+data.value)
	var selectedText = data.elem[data.elem.selectedIndex].text;
	console.log('選中的文字:' + selectedText);
})

附:layui表單提交了多次的兩個原因

1. js文件引用了多次

使用layui需要引用layui.js,有的會引用layui.all.js。

如果使用layui默認的表單提交方式,且你的上述js文件同時引用,或者重復(fù)引用,那么就會導(dǎo)致表單渲染多次,就會導(dǎo)致表單提交多次的情況。

// layui監(jiān)聽提交
  form.on('submit(demo1)', function(data){
    layer.alert(JSON.stringify(data.field), {
      title: '最終的提交信息'
    })
    return false;
  });

引用的時候,注意不要同時引用layui.js和layui.all.js。如果自己的頁面需要引入其他的頁面,那么也要注意你需要引入的頁面中是否已經(jīng)引用過layui.js了,避免重復(fù)引用。

2. 觸發(fā)提交操作的事件出現(xiàn)在<form></form>內(nèi)

如果你是通過自己實現(xiàn)觸發(fā)事件來提交的,那么你觸發(fā)事件的提交按鈕不能再form標簽內(nèi)。

例如有如下代碼

<form class="form-horizontal layui-form" role="form"  lay-filter="example">
	<label for="username" class="col-sm-4 control-label">姓名:
        <input type="text" name="username" id="username" value="" class="form-control">
    </label>
	<button class="layui-btn btn-info" id="submit">提交</button>
</form>
<script>
	$("#submit").click(function () {
        var username = $("#username").val();
        $.ajax(.....);   // 省略ajax提交
    });
</script>

觸發(fā)提交事件的按鈕是在<form>標簽內(nèi)部的,所以當(dāng)點擊提交之后,也會觸發(fā)兩次提交。

將提交按鈕放到<form>標簽外就可以防止多次提交了。

總結(jié) 

到此這篇關(guān)于前端LayUI監(jiān)聽事件的文章就介紹到這了,更多相關(guān)前端LayUI監(jiān)聽事件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論