layui form表单中监听select下拉菜单入坑

这几天开始使用layui前端插件,但是完全没有习惯里面的一些监听事件。这不今天我写form表单中下拉select菜单监听就跳坑了!!!

任务: 给两个下拉菜单,点击第一个下拉菜单,第二个下拉菜单完成值的改变。

有对比就有不同!

使用Jquery实现对select的监听

页面代码

<form action="#" method="post">
	<select name="provinces" id="pro" value="">
		<option value="1">河北省</option>
		<option value="2">河南省</option>
	</select>
	<select name="cities" id="cit" value="">
		<option value="">请选择...</option>
	</select>
	<input type="submit" value="提交2" />
</form>

页面展示

改变第一个下拉菜单的值,使得第二个发生改变。
在这里插入图片描述
javascript代码

//jquery注册值改变事件:内容改变后执行此事件
$("#pro").change(function() {
	var str = "<option value=' '>请选择...</option>";
	str += "<option value='1'>CZ市</option>";
	str += "<option value='2'>LV市</option>";
	$("#cit").html(str);
});

没毛病!完全正确。值被成功填充。
在这里插入图片描述

使用layui实现对select的监听

页面代码

<form class="layui-form" lay-filter="testForm">
	<div class="layui-input-inline">
		<select name="provinces" id="provinces" lay-filter="p" value="">
			<option value="1">河北省</option>
			<option value="2">河南省</option>
		</select>
	</div>
	<div class="layui-input-inline">
		<select name="cities" id="cities" lay-filter="c" value="">
			<option value="">请选择...</option>
		</select>
	</div>
	<input type="submit" value="提交" lay-filter="add" />
</form>

javascript代码(别信!这是入坑代码。)

$("#provinces").change(function() {
	var str = "<option value=' '>请选择...</option>";
	str += "<option value='1'>CZ市</option>";
	str += "<option value='2'>LV市</option>";
	$("#cities").html(str);
});

执行结果,没有任何反应,没有任何反应,他还不报错???

查看layui官方文档:layui官方文档。果然人家写的明明白白!!!
在这里插入图片描述
监听select要用layui定义的,自己写的不顶事儿??

重新写的javascript代码

layui.use(['table', 'form', 'jquery'], function() {
	var table = layui.table,
		form = layui.form,
		$ = layui.jquery;
	//from监听select下拉菜单
	form.on('select(p)', function(data) {
		var str = "<option value=' '>请选择...</option>";
		str += "<option value='1'>CZ市</option>";
		str += "<option value='2'>LV市</option>";
		$("#cities").html(str);
		form.render();  //重新渲染表单。没有这个数据照样加载不出来
	});
});

管用了!!!
在这里插入图片描述

入坑友情提示

  1. 使用layui的监听事件一定要使用“人家”官方定义的lay-filter=“xxx”。
  2. layui加载数据完成之后,一定要重新渲染,form加载的数据就重新渲染表单(form.render());table加载的数据就重新渲染表格(table.reload(‘reload’),page:{{curr:1}})
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
监听layui下拉表单的选择事件,可以通过layuiform模块来实现。 首先,需要引入layuiform模块: ```html <script src="https://cdn.staticfile.org/layui/2.5.6/layui.min.js"></script> ``` 然后,在页面加载完成后,需要初始化form模块: ```html <script> layui.use('form', function(){ var form = layui.form; // TODO: 在此处编写监听代码 }); </script> ``` 接着,可以通过form模块的`on`方法来监听下拉表单的选择事件: ```html <script> layui.use('form', function(){ var form = layui.form; form.on('select', function(data){ console.log(data.value); // 打印用户选择的选项的值 }); }); </script> ``` 在这个例子,当用户选择下拉表单的选项时,将会触发`form.on('select', function(data){})`的回调函数。`data`参数包含用户选择的选项的值,可以通过`data.value`来获取。 当然,你也可以给下拉表单设置一个`lay-filter`属性,然后在`form.on`方法指定相应的`filter`来监听该下拉表单的选择事件。例如: ```html <form class="layui-form"> <div class="layui-form-item"> <label class="layui-form-label">城市</label> <div class="layui-input-inline"> <select name="city" lay-filter="city"> <option value="">请选择城市</option> <option value="beijing">北京</option> <option value="shanghai">上海</option> <option value="guangzhou">广州</option> <option value="shenzhen">深圳</option> </select> </div> </div> </form> <script> layui.use('form', function(){ var form = layui.form; form.on('select(city)', function(data){ console.log(data.value); // 打印用户选择的城市的值 }); }); </script> ``` 在这个例子,我们给下拉表单设置了一个`lay-filter="city"`的属性,并在`form.on`方法指定了`select(city)`的`filter`,这样就可以监听该下拉表单的选择事件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白说(๑• . •๑)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值