layui切换select选项事件

本文展示了如何在HTML表单中使用layui框架监听商品选择的改变事件,通过AJAX获取商品详细信息,例如商品明细数量,并实时更新到页面上。此示例涉及到前端与后台的数据交互,以及动态更新DOM元素内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

我们经常遇到表单上面选择不同的下拉选项需要触发函数去完成一些业务逻辑,比如我这个地方根据所选商品查询它底下明细的数量,并展示。

效果演示

在这里插入图片描述

代码

<!--选择商品-->
<div class="layui-form-item">
    <label class="layui-form-label">商品</label>
    <div class="layui-input-block">
        <select id="goodsId" name="goodsId" lay-verify="required" lay-filter="goodsId">
            <option value="">--选择商品--</option>
        </select>
        <div class="layui-unselect layui-form-select">
            <div class="layui-select-title">
                <input type="text" placeholder="请选择" value="" readonly=""
                       class="layui-input layui-unselect">
                <i class="layui-edge"></i>
            </div>
        </div>
    </div>
</div>
// 监听商品更改事件
form.on('select(goodsId)', function(e) {
    $.ajax({
        type: "GET",
        url: ctx+'goods/kmtj/'+$("#goodsId").val(),
        success: function (result) {
            $('#kmtj').val('总计:'+result.data.total+'张|剩余:'+result.data.left+'张');
        }
    })
})
layui框架中实现多选框(select)内的元素拖动排序,你可以借助第三方库如Sortable.js或者 layui 自带的部分功能配合使用。以下是简单的步骤: 1. **引入库**: 首先,在HTML中引入layui及Sortable库,例如: ```html <link rel="stylesheet" href="https://unpkg.com/layui/dist/layui.css"> <script src="https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/sortablejs/1.10.0/Sortable.min.js"></script> ``` 2. **初始化select**: 使用layui的`laySelect`组件创建一个多选框,并设置默认值: ```javascript layui.use('layselect', function () { var layselect = layui.layselect; layselect.render({ elem: '#mySelect', options: [ { value: '1', title: '选项一' }, { value: '2', title: '选项二' }, // 更多选项... ] }); }); ``` 3. **添加Sortable事件监听**: 在选择框的容器上添加Sortable的配置,并在拖动完成时更新select选项顺序: ```javascript var container = document.getElementById('mySelect'); Sortable.create(container, { onEnd: function (event) { const items = Array.from(container.children); let optionValues = items.map(item => item.value); // 获取选项值列表 // 更新layselect的选择项 layselect.setOptions('#mySelect', { options: optionValues }); } }); ``` 4. **注意点**: - 以上代码示例假设你已经获取到选择框的DOM元素。实际应用中需要将`#mySelect`替换为你实际的ID。 - 当拖动过程中有其他操作触发时,比如切换其他选项,可能会中断排序,所以可以根据需求调整交互逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值