加载其他功能时,Min-Max过滤器不起作用

时间:2017-01-08 18:32:16

标签: javascript html filter minmax

01)我有一个JSON URL,我通过外部.js文件动态地将数据加载到HTML表中。

02)我有一个名称过滤器(第一栏)。 (它工作正常)

03)我每行都有一个乘法函数。 (它工作正常)

04)我有一个3d列的最小 - 最大功能。 (虽然以前工作但它不起作用)。

链接位于:LINK

代码如下所示:

function minmax() {

    filters();
    $.fn.dataTable.ext.search.push(function(settings, data, dataIndex) {
        return parseFloat(data[2]) >= parseFloat($('#counter-low').val() || data[2]) &&
            parseFloat(data[2]) <= parseFloat($('#counter-high').val() || data[2]);
    });

    var table = $('table').DataTable();
    $('#counter-low, #counter-high').on('keyup', table.draw);
}

我也在里面调用过滤器功能。我无法弄清楚它为什么不起作用。

UPD :我更改了标题中的调用顺序,现在效果更好。但仍然不能100%工作。

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
  <script src="js/jquery.min.js"></script>
  <script src="js/jquery.multiselect.js"></script>
  <script type="text/javascript" language="javascript" src="js/jquery.dataTables.min.js"></script>
  <script type="text/javascript" language="javascript" src="js/allinone.js"></script>

2 个答案:

答案 0 :(得分:1)

检查脚本执行的顺序,如果它正常工作,可能你会更快地注意到它。还要检查Web控制台中的console.log()错误。顺便说一下,<script>标签中的语言属性已被弃用了很长时间,不应该使用。在这些日子里,甚至不需要打字。此外,您有两个jQuery版本。

<script src="js/jquery.dataTables.min.js"></script>

答案 1 :(得分:0)

我无法关注dataTable应该来自哪里,但事实上,$ .fn.dataTable似乎都不可用或命令$('table')。DataTable();

也许你错过了一个提供此功能的脚本,但是如果你只是想隐藏行,你可以使用像min / max这样的东西(目前它的jsut min - 我没有完成它 - 只是测试了它):

// update circle position to be centered in the viewport
private void update() {
    Bounds viewportBounds = scrollPane.getViewportBounds();
    Bounds contentBounds = content.getBoundsInLocal();

    double hRel = scrollPane.getHvalue() / scrollPane.getHmax();
    double vRel = scrollPane.getVvalue() / scrollPane.getVmax();

    double x = Math.max(0, (contentBounds.getWidth() - viewportBounds.getWidth()) * hRel) + viewportBounds.getWidth() / 2;
    double y = Math.max(0, (contentBounds.getHeight() - viewportBounds.getHeight()) * vRel) + viewportBounds.getHeight() / 2;

    Point2D localCoordinates = content.parentToLocal(x, y);
    circle.setCenterX(localCoordinates.getX());
    circle.setCenterY(localCoordinates.getY());
}

private Circle circle;
private Pane content;
private ScrollPane scrollPane;

@Override
public void start(Stage primaryStage) {
    // create ui
    circle = new Circle(10);
    content = new Pane(circle);
    content.setPrefSize(4000, 4000);
    scrollPane = new ScrollPane(content);
    Scene scene = new Scene(scrollPane, 400, 400);

    // add listener to properties that may change
    InvalidationListener l = o -> update();
    content.layoutBoundsProperty().addListener(l);
    scrollPane.viewportBoundsProperty().addListener(l);
    scrollPane.hvalueProperty().addListener(l);
    scrollPane.vvalueProperty().addListener(l);
    scrollPane.hmaxProperty().addListener(l);
    scrollPane.vmaxProperty().addListener(l);
    scrollPane.hminProperty().addListener(l);
    scrollPane.vminProperty().addListener(l);

    primaryStage.setScene(scene);
    primaryStage.show();
}