美文网首页
layui复选框checkbox编辑提交问题

layui复选框checkbox编辑提交问题

作者: xsmile21 | 来源:发表于2021-08-05 15:21 被阅读0次

在使用layui复选框组件时,遇到这样一个问题,接口返回值与用户操作值要一起传给后端:



新建比较容易,点击事件将data.elem.checked为true的数据push到一个数组就可以~~~

var arr = [];
form.on('checkbox(switchTest)', function (data) {
     if (data.elem.checked == true) {
          arr.push(data.value);
     } else if (data.elem.checked == false) {
          arr.splice(jQuery.inArray(data.value, arr), 1);
     }
});

但是在编辑时,有接口返回值的回显数组与用户操作数组拼接在一起,还要考虑接口返回值被用户反选的情况,逻辑比较复杂,删删减减写了一大堆,突然想起来input有个checked属性,又想打人了!!!

<input type="checkbox" lay-filter="switchTest" name="like" lay-skin="primary" class="result" checked="true" title="${item.name}" value="${item.id}">

如果我们找到所有input属性checked为true的value值不就可以了,三行代码搞定,yeah!

var roles = [], arr = [];
arr = document.getElementsByClassName('result');
for (var i = 0;i < arr.length;i ++) {
    if (arr[i].checked == true) {
       roles.push(arr[i].value)
    }
}

相关文章

网友评论

      本文标题:layui复选框checkbox编辑提交问题

      本文链接:https://www.haomeiwen.com/subject/kfbmvltx.html