首页 > 解决方案 > 如果对数据表起作用

问题描述

    function sortfuction(selected) {
            var id = selected.value;
                if (id=0) {
                    $('#password-table').DataTable( {
                    "destroy": true,
                    "paging": false,
                    "searching":false,
                    "order": [[ id, "asc" ],]
                } );
                }
                }else{
                    $('#password-table').DataTable( {
                    "destroy": true,
                    "paging": false,
                    "searching":false,
                    "order": [[ id, "dsc" ],]
                }
        </script>
   <table id="password-table" class=" row-border" style="width:100%">
        <thead>
    <select id="selectorID" onchange="sortfuction(this)">
        <option value="1" >Count</option>
        <option value="0">ABC</option>
    </select>

有了这段代码,我希望能够根据在 Select 元素上选择的值对表格进行排序。例如,如果选择 ABC,我希望我的第一个数据表列按升序排序,而如果选择 Cound,我希望我的第二列按降序排序。此时控制台返回

意外的令牌“其他”

标签: javascriptdatatable

解决方案


你的 else 语句之前有一个额外}的,只需删除它。但是您在else 和)另一个之后也缺少一个和另一个来关闭该功能。此外,您的 if 语句需要双等号或三等号来测试是否等于一个值,否则它只是一个赋值。}}==

另外快速浏览一下文档显示它应该是 'desc' 而不是 'dsc' 来进行降序排序。我已经更新了代码

所以

function sortfuction(selected) {
        var id = selected.value;
            if (id==0) {
                $('#password-table').DataTable( {
                "destroy": true,
                "paging": false,
                "searching":false,
                "order": [[ id, "asc" ]]
            } );

            }else{
                $('#password-table').DataTable( {
                "destroy": true,
                "paging": false,
                "searching":false,
                "order": [[ id, "desc" ]]
            })
            }
  }

推荐阅读