Layui select 的动态添加

layui的select 若已经给了选项的数据,它还会动态生成另外一段代码 <dl class="layui-anim layui-anim-upbit"/>,若想自己添加动态的数据,则我们也需要添加 <dl class="layui-anim layui-anim-upbit"/>的选项数据,否则,select会失效。

添加两段选项的代码:

$("#GoodsModifyModel_GoodsCategorySel").next().children().eq(1)可找到动态生成的<dl>,用于添加<dd>

$("#GoodsModifyModel_GoodsCategorySel").next().children().eq(1).html(html1);//layui动态生成的<dl class="layui-anim layui-anim-upbit"/>的选项数据
$("#GoodsModifyModel_GoodsCategorySel").html(html2);//自己的select选项数据

前台 select代码: 

<div class="layui-form-item">
       <label class="layui-form-label">类别</label>
       <div class="layui-input-inline">
             <select id="GoodsModifyModel_GoodsCategorySel" lay-verify="required" lay-search="">
            @*动态添加类别*@
            </select>
        </div>
</div>

layui select生成的完整代码: 

<div class="layui-input-inline">
    <select id="GoodsAddModel_GoodsCategorySel">
        <option value="">直接选择或搜索选择</option>
        <option value="1">笔记本</option>
        <option value="2">台式电脑</option>
        <option value="3">鼠标</option>
        <option value="4">键盘</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>
    <dl class="layui-anim layui-anim-upbit">
        <dd lay-value="" class="layui-select-tips">直接选择或搜索选择</dd>
        <dd lay-value="1" class="">笔记本</dd>
        <dd lay-value="2" class="">台式电脑</dd>
        <dd lay-value="3" class="">鼠标</dd>
        <dd lay-value="4" class="">键盘</dd>
    </dl>
    </div> 
 </div>

 动态添加select 的代码如下所示:

@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>评论层模板</title>
    <link rel="stylesheet" type="text/css" href="~/layui/css/layui.css" />
</head>
<body>
    <form class="layui-form" id="userModiForm" style="width:360px;">
        <div class="layui-form-item" style="margin-top:5px">
            <label class="layui-form-label">商店</label> 
            <div class="layui-input-inline">
                 <select id="GoodsAddModel_ShopSel" lay-verify="required" lay-search=""></select> 
            </div> 
        </div> 
        <div class="layui-form-item" style="margin-top:5px">
            <label class="layui-form-label">类别</label> 
            <div class="layui-input-inline">
              <select id="GoodsAddModel_GoodsCategorySel" lay-verify="required" lay-search=""></select> 
            </div> 
        </div> 
    </form>
</body>
</html>
<script src="~/PageUI/MyInfoIndexUi/js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="~/layui/layui.js" type="text/javascript" charset="utf-8"></script>
<script>
    $(function () {
        GetGoodsCategoryToSel();
        GetShopToSel();
    })
    //获取类别
    function GetGoodsCategoryToSel() {
        $.ajax({
            url: "/Goods/GetGoodsCategory",
            data: {},
            type: "post",
            async: false,
            success: function (data) {
                if (data != "" && data != null) {
                    layui.use(['layer', 'form'], function () {
                        var form = layui.form;
                        var length = data.length;
                        var html1 = '<dd lay-value="" class="layui-select-tips layui-this">直接选择或搜索选择</dd>';
                        var html2 = '<option value="" >直接选择或搜索选择</option>';
                        for (var i = 0; i < length; i++) {
                            html1 += '<dd lay-value="' + data[i].CategoryId + '">' + data[i].CategoryName + '</dd>';
                            html2 += '<option value="' + data[i].CategoryId + '">' + data[i].CategoryName + '</option>';
                        }
                        $("#GoodsAddModel_GoodsCategorySel").next().children().eq(1).html(html1);
                        $("#GoodsAddModel_GoodsCategorySel").html(html2);

                        $("#GoodsModifyModel_GoodsCategorySel").next().children().eq(1).html(html1);
                        $("#GoodsModifyModel_GoodsCategorySel").html(html2);
                        form.render();//没有写这个,操作后没有效果
                    });

                }
            }
        });
    }
    //获取商店
    function GetShopToSel() {
            $.ajax({
                url: "/Shop/GetAllShop",
                async: false,
                type: "post",
                datatype: "json",
                data: {},
                success: function (data) {
                    if (data != "" && data != null) {
                        layui.use(['layer', 'form'], function () {
                            var form = layui.form;
                            var length = data.length;
                            var html1 = '<dd lay-value="" class="layui-select-tips layui-this">直接选择或搜索选择</dd>';
                            var html2 = '<option value="" >直接选择或搜索选择</option>';
                            for (var i = 0; i < length; i++) {
                                html1 += '<dd lay-value="' + data[i].ShopId + '">' + data[i].ShopName + '</dd>';
                                html2 += '<option value="' + data[i].ShopId + '">' + data[i].ShopName + '</option>';
                            }
                            $("#GoodsAddModel_ShopSel").next().children().eq(1).html(html1);
                            $("#GoodsAddModel_ShopSel").html(html2);

                            $("#GoodsModifyModel_GoodsCategorySel").next().children().eq(1).html(html1);
                            $("#GoodsModifyModel_GoodsCategorySel").html(html2);
                            form.render();//没有写这个,操作后没有效果
                        });

                    }
                }
            });
    }

    $('#CloseIframe').click(function () {
        //注意:parent 是 JS 自带的全局对象,可用于操作父页面
        var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
        parent.layer.close(index);
    });

</script>

 

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
动态添加 option 可以使用 jQuery 或者原生 JavaScript 实现,以下是一个使用 jQuery 的示例: ```javascript // 添加一个 option $('#selectId').append('<option value="value">text</option>'); // 删除最后一个 option $('#selectId option:last').remove(); ``` 其中,`#selectId` 是 select 元素的 ID,`value` 和 `text` 分别是 option 的值和显示文本。 如果你想删除指定的 option,则可以使用以下代码: ```javascript // 删除指定 value 的 option $('#selectId option[value="value"]').remove(); ``` 同样地,如果想删除指定的索引位置的 option,可以使用以下代码: ```javascript // 删除指定索引位置的 option $('#selectId option:eq(index)').remove(); ``` 以上是使用 jQuery 实现动态添加和删除 option 的方法,如果你想使用原生 JavaScript 实现,可以使用以下代码: ```javascript // 添加一个 option var option = document.createElement('option'); option.value = 'value'; option.text = 'text'; document.getElementById('selectId').appendChild(option); // 删除最后一个 option var select = document.getElementById('selectId'); select.options[select.options.length - 1] = null; ``` 同样地,如果想删除指定的 option,可以使用以下代码: ```javascript // 删除指定 value 的 option var select = document.getElementById('selectId'); for (var i = 0; i < select.options.length; i++) { if (select.options[i].value === 'value') { select.remove(i); break; } } // 删除指定索引位置的 option var select = document.getElementById('selectId'); select.remove(index); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

laizhixue

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

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

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

打赏作者

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

抵扣说明:

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

余额充值