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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白说(๑• . •๑)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值