JavaScript If 语句有效,但 Else 无效

标签 javascript jquery datatables multiple-select

当我运行此代码时,onClick 下的 if 语句在 view.checked == true 时计算,但 else 在 vi​​ew.checked == false 时不计算。该警报显示 view.checked 似乎工作正常。不知道发生了什么事。我正在使用这两个插件:

https://datatables.net/使用 fnFilter 插件

http://wenzhixin.net.cn/p/multiple-select

作为旁注,还试图找出为什么我的 .join() 方法添加空格。

var checked = [];
var checkedreg = '';
$(document).ready(function() {
    rtable = $('#ropes').dataTable( {
        "ajax": "data/ropes.txt",
        "dom": 'C<"clear">lfrtip',
        "columns": [
            { "data": "brand" },
            { "data": "model" },
            { "data": "length" },
            { "data": "dia" },
            { "data": "price" },
            { "data": "drytreat" },
            { "data": "midmark" },
            { "data": "bipat" },
            { "data": "falls" },
        ],
    });
    $('select').multipleSelect({
       onClick: function(view) {
        checkedreg = ''; 
        alert(view.checked);
        if (view.checked) { //if checkbox is checked
                checked.push(view.label); //add value of checkbox to "checked" array (ex. "Petzl")
            } 
            else {
                checked.splice(array.indexOf(view.label), 1); //if checkbox is not checked, remove value from array
                alert(checked); //test
            }
            checkedreg = checked.join("|"); //create regex of values ("Petzl| Mammut| Edelweiss)"
            checkedreg = checkedreg.replace(/\s+/g, ''); //for some reason it adds spaces so i have to remove them
            alert(checkedreg); //test
            alert(checked); //test
            rtable.fnFilter(checkedreg, 0, true); //filters a column based on a regex and column index
        }
    })
});

最佳答案

checked.splice(array.indexOf(view.label), 1); 替换为 checked.splice(checked.indexOf(view.label), 1); 并尝试

关于JavaScript If 语句有效,但 Else 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552218/

相关文章:

javascript - laravel 中的 DELETE 请求

javascript - React Redux 中间件的 #store.dispatch(action) 与 #next(action)

javascript - 如何实现 float 可拖动面板

javascript - jQuery:淡入文本输入,保持可见直到不活动

javascript - 带键的 ReactJS 动态子项

javascript - jQuery 隐藏 li 元素,然后在按钮悬停时淡入

angularjs - 插入 $compile-d html

jquery - 数据表分页使不可点击的链接变灰

javascript - 按单元格内容以外的值对列进行排序

javascript - masonry : undefined is not a function