Dojox 水平范围滑块读取定义表达式的值

dojox horizontalrangeslider read value for definition expression

本文关键字:定义 表达式 读取 水平 范围 Dojox      更新时间:2023-09-26

我想使用范围滑块的值来设置数据的定义表达式。

数据的 VAR 创建如下:

var POP_Total = new FeatureLayer("..../services/RPP_15/HEX_Confidence_Scores/MapServer/2", {
                  mode: FeatureLayer.MODE_ONDEMAND,
                  outFields: ["*"],
                  opacity: 0.5,
              });

然后应用定义表达式:

POP_Total.setDefinitionExpression("POP_Total_Class >= 4 AND POP_Total_Class <= 5");

在上述情况下,返回的值被硬编码为仅显示 4 到 5 之间的值。 我希望使用范围滑块中使用的值有问题地更改 4 和 5 的值。 范围滑块的创建方式如下:

   var sliderRules = new dijit.form.HorizontalRuleLabels({
                  minimum: 1,
                  maximum: 8,
                  labels: ["1", "2", "3", "4", "5", "6", "7", "8"],
                  labelStyle: "font-size:9px;color: #333",
                  style: "width:220px;height:30px;"
              }, "ruler");

              var rangeSlider = new dojox.form.HorizontalRangeSlider({
                  name: "rangeSlider",
                  value: [1, 8],
                  minimum: 1,
                  maximum: 8,
                  discreteValues: 8,
                  style: "width:220px;",
                  onChange: function (value) {
                      //alert('change occurred');
                  }
              }, "rangeSlider");

这个答案是由Aamir Suleman在另一个线程上发布的:

onChange: function (value) {
    var min = value[0];
    var max = value[1];
    var expression = "POP_Total_Class >= " + min + " AND POP_Total_Class <= " + max;
    POP_Total.setDefinitionExpression(expression);
}