请教一下jquery元素添加删除

图片描述

功能需求如上图所示,试了好多方法没能解决掉,想请各位指导一下

下面是html代码
<div class="bigBox">

<div class="box">
    <div class="sbox">
        <select name="op0-0" id="">
            <option value="=">等于</option>
            <option value="!=">不等于</option>
        </select>
        <select name="tag0-0" id="select">
            <volist name="arr" id="vo">
                <volist name="vo" id="vo">
                    <option  value="{$vo.TagId},{$vo.TagKey}">{$vo.TagName}___{$vo.TagDataDefine}</option>
                </volist>
            </volist>
        </select>
        <select name="inperate0-0" id="" style='visibility :hidden'>
            <option value=""></option>
        </select>
        <a href="##" class="add">+</a>
        <a href="##" class="del">-</a>

    </div>
    <a href="##" class="addall">+</a>
    <a href="##" class="delall">-</a>
</div>

</div>

js代码:
<script>

//右边加号追加
$(function(){
    $(document).on('click','.add',function(){
        let colIndex = $(this).parent().find('select[name^="op"]').length
        let rowIndex = $(this).parent().parent().index()
        var value=`<select name="inperate`+rowIndex+`-`+colIndex+`" id="inOperate">
        <option value="AND">和</option>
        <option value="OR">或</option>
        </select>
        <select name="op`+rowIndex+`-`+colIndex+`" id="op">
        <option value="=">等于</option>
        <option value="!=">不等于</option>
        </select>
        <select name="tag`+rowIndex+`-`+colIndex+`" id="tag">
        <volist name="arr" id="vo">
        <volist name="vo" id="vo">
        <option  value="{$vo.TagId},{$vo.TagKey}">{$vo.TagName}___{$vo.TagDataDefine}</option>
    </volist>
    </volist>
    </select>
    <a href="##" class="add">+</a>
    <a href="##" class="del">-</a>`;

    $(this).parent().append(value);
})
});


//右边减号删除
$(function(){
    $(document).on('click','.del',function(){

    })
});

//下面减号删除
$(function(){
    $(document).on('click','.delall',function(){

    })
});


//下面加号追加
$(function(){
    let a = 0;
    let b = 0;
    $(document).on('click','.addall',function(){
        let b = $('.bigBox').children().length;
        var v=`<div class="box">
        <div>
        <select name="Operate`+b+`-`+a+`" id="">
        <option value="AND">和</option>
        <option value="OR">或</option>
        </select>
        <select name="op`+b+`-`+a+`" id="">
        <option value="=">等于</option>
        <option value="!=">不等于</option>
        </select>
        <select name="tag`+b+`-`+a+`" id="select">
        <volist name="arr" id="vo">
        <volist name="vo" id="vo">
        <option  value="{$vo.TagId},{$vo.TagKey}">{$vo.TagName}___{$vo.TagDataDefine}</option>
    </volist>
    </volist>
    </select>
    </select>
    <select name="inperate`+b+`-`+a+`" id="" style="visibility :hidden">
    <option value=""></option>
    </select>
    <a href="##" class="add">+</a>
    <a href="##" class="del">-</a>
    </div>
    <a href="##" class="addall">+</a>
    <a href="##" class="delall">-</a>
    </div>`;
    $(this).parent().parent().append(v);
})
})

</script>

阅读 1.7k
2 个回答

代理元素的点击事件,在点击以后获取该按钮后边的要移除的元素,remove即可。

我在想,jq删除元素不就是remove或者empty吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题