删除兄弟姐妹正在删除jQuery中的多余元素

萨玛德·阿里

这是我的html的一部分

<label class="checkbox" data-appid="1" data-moduleid="1" data-permissionid="128" data-processid="1" data-screenid="1">
  <input type="checkbox" name="screen_permission_id[128]" value="128" checked="checked">
  <span></span>
  Add
这是我的jQuery代码
$(document).on('change', 'input:checkbox', function() {
   console.log($(this))
    if ($(this).is(':checked') == false) {
        $(this).siblings($('input[type=hidden]')).remove()
    } else {
        let tr = $(this).closest('label');

        let appid = tr.attr("data-appid")
        let moduleid = tr.attr("data-moduleid")
        let permissionid = tr.attr("data-permissionid")
        let processid = tr.attr("data-processid")
        let screenid = tr.attr("data-screenid")

        $(this).closest('label').append('<input type="hidden" name="app_module_id[' + permissionid + ']" value="' + moduleid + '"> <input type="hidden" name="module_process_id[' + permissionid + ']" value="' + processid + '"><input type="hidden" name="process_screen_id[' + permissionid + ']" value="' + screenid + '">')
    }



})

当我取消选中复选框时。除了隐藏的输入,它还会删除我的span变量。我如何才能避免这种情况。

巴巴克·阿什拉菲

您可以使用jquery doc中not所述的选择同级

$(this).siblings($('input[type=hidden]')).not("span").remove()

$(document).on('change', 'input:checkbox', function() {
    if ($(this).prop('checked') == false) {
        $(this).siblings($('input[type=hidden]')).not("span").remove()
        console.clear();
    } else {
        let tr = $(this).closest('label');

        let appid = tr.attr("data-appid")
        let moduleid = tr.attr("data-moduleid")
        let permissionid = tr.attr("data-permissionid")
        let processid = tr.attr("data-processid")
        let screenid = tr.attr("data-screenid")

        $(this).closest('label').append('<input type="hidden" name="app_module_id[' + permissionid + ']" value="' + moduleid + '"> <input type="hidden" name="module_process_id[' + permissionid + ']" value="' + processid + '"><input type="hidden" name="process_screen_id[' + permissionid + ']" value="' + screenid + '">')
        console.log('<input type="hidden" name="app_module_id[' + permissionid + ']" value="' + moduleid + '"> <input type="hidden" name="module_process_id[' + permissionid + ']" value="' + processid + '"><input type="hidden" name="process_screen_id[' + permissionid + ']" value="' + screenid + '">')
    }



})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label class="checkbox" data-appid="1" data-moduleid="1" data-permissionid="128" data-processid="1" data-screenid="1">
      <input type="checkbox" name="screen_permission_id[128]" value="128" checked="checked">
      <span>Add</span>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

删除兄弟姐妹正在删除jQuery中的多余元素

jQuery兄弟姐妹如何删除类?

从 href 中删除兄弟姐妹类

jQuery-删除兄弟姐妹不工作

删除右侧的所有兄弟姐妹,但不删除左侧的所有兄弟姐妹

带有内部尾随空间的内联元素会删除兄弟姐妹之间的空间吗?

如何匹配子级元素进行分组而不删除兄弟姐妹?

使用兄弟姐妹()删除div内的选择选项

Javascript删除控制台中的兄弟姐妹类,但它们保留在html中

如何在兄弟姐妹的嵌套元素中编写XPATH

如何使用硒中的兄弟姐妹方法识别元素

如何根据兄弟姐妹的文本在硒中查找元素?

在 jQuery 中隐藏祖父母兄弟姐妹的孩子

在React中更改无线电输入后,如何从其他嵌套兄弟姐妹中删除className?

悬停影响不是兄弟姐妹的元素

选择 $(this) 元素的父级的兄弟姐妹

悬停以显示兄弟姐妹元素但轻弹

jQuery-最近的兄弟姐妹

如何删除QStringList中的冗余元素

flexbox 中的中心兄弟姐妹

在 XPath 中查找兄弟姐妹

React 中兄弟姐妹的访问列表

如何使用jquery遍历上一个兄弟姐妹的元素而不是下一个兄弟姐妹的元素?

JQuery,如何根据元素相对于兄弟姐妹的位置来选择元素?

单击Div A会触发Div B并删除Div B的兄弟姐妹

Python:如果下一个兄弟姐妹相同,则删除包含内容的html标签

需要使用兄弟姐妹选择器切换/删除课程

绝对定位一个兄弟姐妹时如何保留兄弟姐妹元素的位置?

之前的兄弟姐妹和以前的元素兄弟姐妹之间的区别