RangeSelector Methods

This section describes the methods that can be used in code to manipulate objects related to the dxRangeSelector.

beginUpdate()

Prevents the component from refreshing until the endUpdate method is called.

The beginUpdate and endUpdate methods allow you to apply several modifications to the component. After the beginUpdate method is called, the component does not update the UI until the endUpdate method is called. The usage of these methods prevents excessive component updating when you are changing multiple component settings at once.

element()

Returns the root HTML element of the widget.

Return Value: jQuery
The root element of the widget.

endUpdate()

Enables the component to refresh after the beginUpdate method call.

The beginUpdate and endUpdate methods allow you to apply several modifications to the component. After the beginUpdate method is called, the component does not update the UI until the endUpdate method is called. The usage of these methods prevents excessive component updating when you change multiple component setting at once.

getSelectedRange()

Returns the currently selected range.

Return Value: Object
An object representing the start and end values of the currently selected range.

To obtain the currently selected range once, use the getSelectedRange() method. If you need to obtain the selected range each time it is modified, use the onSelectedRangeChanged callback function.

To get the start and end values, use the startValue and endValue fields of the returned object, respectively.

Show Example:
jQuery

In this example, a click on the 'Get selected range' button displays the currently selected range. Here, the getSelectedRange() method is used to obtain this range.

<div id="rangeSelectorContainer" style="height:120px;max-width:600px;margin: 0px auto"></div>
<div style="height:60px; max-width:200px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type='button' id='getSelectedRangeButton' value='Get selected range'><br />
    <span id='selectionSpan'/>
</div>
$(function () {
    $("#rangeSelectorContainer").dxRangeSelector({
        background: { color: 'lightgreen' },
        scale: {
            startValue: 0,
            endValue: 10
        }
    });

    $("#getSelectedRangeButton").click(function () {
        var rangeSelector = $('#rangeSelectorContainer').dxRangeSelector('instance');
        var selectedRange = rangeSelector.getSelectedRange();
        $('#selectionSpan').html('Selected range: [' +
                selectedRange.startValue.toFixed(3) + ', ' + selectedRange.endValue.toFixed(3) + ']');
    });
});

hideLoadingIndicator()

Conceals the loading indicator.

Although the loading indicator hides automatically when a range selector is ready, you can hide it from code at the required time using the hideLoadingIndicator() method.

To show the loading indicator, invoke the showLoadingIndicator() method.

Show Example:
jQuery

In this example, the range selector options are assigned five seconds after the example is loaded. You can show/hide the loading indicator using the buttons under the range selector. Note that the loading indicator can be displayed or concealed manually at any time regardless of whether the range selector is ready or not.

<div id="rangeSelectorContainer" style="height:120px;max-width:600px;margin:0px auto"></div>
<div style="height:25px;max-width:500px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="button" id="showLoadingIndicatorButton" value="showLoadingIndicator()" />
    <input type="button" id="hideLoadingIndicatorButton" value="hideLoadingIndicator()" />
</div>
var rangeSelectorOptions = {
    scale: {
        startValue: 0,
        endValue: 10,
        minorTickInterval: 0.25,
        label: { font: { color: 'olive' } },
        tick: { color: 'yellow' }
    },
    background: { color: 'darkseagreen' },
    shutter: { color: 'white' },
    sliderMarker: {
        color: 'seagreen',
        format: 'fixedPoint',
        precision: 2
    }
};

$(function () {
    $("#rangeSelectorContainer").dxRangeSelector().dxRangeSelector('instance').showLoadingIndicator();

    $('#showLoadingIndicatorButton').click(function () {
        var gauge = $('#rangeSelectorContainer').dxRangeSelector('instance');
        gauge.showLoadingIndicator();
    });

    $('#hideLoadingIndicatorButton').click(function () {
        var gauge = $('#rangeSelectorContainer').dxRangeSelector('instance');
        gauge.hideLoadingIndicator();
    });
});

var configureRangeSelector = function () {
    var rangeSelector = $("#rangeSelectorContainer").dxRangeSelector('instance');
    rangeSelector.option(rangeSelectorOptions);
};

setTimeout(configureRangeSelector, 5000);

instance()

Returns an instance of this component class.

Return Value: Object
An instance of this component class

Use this method to access other methods of the component.

Show Example:
jQuery

In the following example, the instance() method is used to get access to the range selector options. This method is not called like the other methods. To call the instance() method, the following construction is used.

<!--JavaScript -->$("#rangeSelectorContainer").dxRangeSelector("instance")

Click the button below to display the currently selected range.

<div id="rangeSelectorContainer" style="height:120px;max-width:600px;margin: 0px auto"></div>
<div style="height:60px; max-width:200px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type='button' id='getSelectedRangeButton' value='Get selected range'><br />
    <span id='selectionSpan'/>
</div>
$(function () {
    $("#rangeSelectorContainer").dxRangeSelector({
        background: { color: 'silver' },
        scale: {
            startValue: 0,
            endValue: 10
        },
        behavior: {
            snapToTicks: false,
            allowSlidersSwap: false
        }
    });

    $("#getSelectedRangeButton").click(function () {
        var rangeSelector = $('#rangeSelectorContainer').dxRangeSelector('instance');
        var selectedRange = rangeSelector.getSelectedRange();
        $('#selectionSpan').html('Selected range: [' +
                selectedRange.startValue.toFixed(3) + ', ' + selectedRange.endValue.toFixed(3) + ']');
    });
});

off(eventName)

Detaches all event handlers from the specified event.

Parameters:
eventName: String
The name of the event to unsubscribe from.
Return Value: Object
The object for which this method is called.

For details on using methods for handling events, refer to the Handle Events topic.

off(eventName, eventHandler)

Detaches a particular event handler from the specified event.

Parameters:
eventName: String
The name of the event to unsubscribe from.
eventHandler: function
The handler to be detached from the specified event.
Return Value: Object
The object for which this method is called.

For details on using methods for handling events, refer to the Handle Events topic.

on(eventName, eventHandler)

Subscribes to a specified event.

Parameters:
eventName: String
The name of the event to be subscribed.
eventHandler: function
An event handler for the specified event.
Return Value: Object
The object for which this method is called.

Use this method to subscribe to one of the events listed in the Events section.

For details on using methods for handling events, refer to the Handle Events topic.

on(events)

Subscribes to the specified events.

Parameters:
events: Object
An object of the following structure: { "eventName1": handler1, "eventName2": handler2, ...}
Return Value: Object
The object for which this method is called.

Use this method to subscribe to several events at one method call. Available events are listed in the Events section.

For details on using methods for handling events, refer to the Handle Events topic.

option()

Returns the configuration options of this component.

Return Value: Object
An object representing the configuration options of this component.

Show Example:
jQuery

In this example, the option() method is used to obtain the value of the behavior | allowSlidersSwap option and display it under the range selector. To change this value, use the check box below.

<div id="rangeSelectorContainer" style="height:120px;max-width:600px;margin: 0px auto"></div>
<div id="checkboxContainer" style="height:40px;max-width:600px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="checkbox" id="allowSlidersSwapCheckbox" checked> allowSlidersSwap<br />
    <span id="selectionSpan" />
</div>
$(function () {
    $("#rangeSelectorContainer").dxRangeSelector({
        scale: {
            startValue: 0,
            endValue: 10
        }
    });

    $("#allowSlidersSwapCheckbox").change(function () {
        var rangeSelector = $("#rangeSelectorContainer").dxRangeSelector("instance");
        rangeSelector.option('behavior.allowSlidersSwap', this.checked);
        var rangeSelectorOptions = rangeSelector.option();
        $('#selectionSpan').html('behavior | allowSlidersSwap: ' + rangeSelectorOptions.behavior.allowSlidersSwap);
    });
});

option(optionName)

Gets the value of the specified configuration option of the widget.

Parameters:
optionName: String
The name of the option to get.
Return Value: any
The value of the specified option.

To get the value of a configuration option, specify the path to the field representing this option in the configuration object. For example, pass the "behavior.allowSlidersSwap" value as the optionName parameter to get the value of the behavior | allowSlidersSwap option of the dxRangeSelector widget.

Show Example:
jQuery

In this example, the option(optionName) method is used to obtain the value of the behavior | allowSlidersSwap option and display it under the range selector. To change this value, use the check box below.

<div id="rangeSelectorContainer" style="height:120px;max-width:600px;margin: 0px auto"></div>
<div id="checkboxContainer" style="height:40px;max-width:600px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="checkbox" id="allowSlidersSwapCheckbox" checked> allowSlidersSwap<br />
    <span id="selectionSpan" />
</div>
$(function () {
    $("#rangeSelectorContainer").dxRangeSelector({
        scale: {
            startValue: 0,
            endValue: 10
        }
    });

    $("#allowSlidersSwapCheckbox").change(function () {
        var rangeSelector = $("#rangeSelectorContainer").dxRangeSelector("instance");
        rangeSelector.option('behavior.allowSlidersSwap', this.checked);
        $('#selectionSpan').html('behavior | allowSlidersSwap : ' + rangeSelector.option('behavior.allowSlidersSwap'));
    });
});

option(optionName, optionValue)

Sets a value to the specified configuration option of the widget.

Parameters:
optionName: String
The name of the required option.
optionValue: any
The value to be assigned to the required option.

To set the value to the configuration option, specify the path to the field representing this option in the configuration object. For example, to set the behavior | allowSlidersSwap option of the dxRangeSelector widget to true, pass the "behavior.allowSlidersSwap" value as the optionName parameter and the "true" value as the optionValue parameter.

Show Example:
jQuery

In this example, the option(optionName, optionValue) method is used to set the value of the behavior | allowSlidersSwap option at runtime. To change this value, use the check box below.

<div id="rangeSelectorContainer" style="height:120px;max-width:600px;margin: 0px auto"></div>
<div id="checkboxContainer" style="height:40px;max-width:150px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="checkbox" id="allowSlidersSwapCheckbox" checked> allowSlidersSwap
</div>
$(function () {
    $("#rangeSelectorContainer").dxRangeSelector({
        scale: {
            startValue: 0,
            endValue: 10
        }
    });

    $("#allowSlidersSwapCheckbox").change(function () {
        var rangeSelector = $("#rangeSelectorContainer").dxRangeSelector("instance");
        rangeSelector.option('behavior.allowSlidersSwap', this.checked);
    });
});

option(options)

Sets one or more options of this component.

Parameters:
options: Object
An object containing the required configuration options.

Show Example:
jQuery

In this example, the option(options) method is used to alter a set of options at once. To change the values of the behavior | allowSlidersSwap and scale | showMinorTicks options, use the check box below.

<div id="rangeSelectorContainer" style="height:120px; max-width:600px; margin: 0 auto"></div>
<div id="checkboxContainer" style="height:40px;width:300px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px; text-align:center">
    <input type="checkbox" id="minorTicksSlidersSwapCheckbox" checked> Show Minor Ticks and Allow Sliders Swap<br />
</div>
$(function () {
    $("#rangeSelectorContainer").dxRangeSelector({
        scale: {
            startValue: 0,
            endValue: 10,
            majorTickInterval: 1
        }
    });

    $("#minorTicksSlidersSwapCheckbox").change(function () {
        var rangeSelector = $("#rangeSelectorContainer").dxRangeSelector("instance");
        rangeSelector.option({
            behavior: {
                allowSlidersSwap: this.checked
            },
            scale: {
                showMinorTicks: this.checked
            }
        });
    });
});

render(skipChartAnimation)

Redraws a widget.

Parameters:
skipChartAnimation: Boolean
Specifies whether or not to animate the chart within a range selector on render.

When the size of a range selector container changes at runtime, the range selector should be redrawn explicitly. To do this, call its render(skipChartAnimation) method.

If your range selector contains a chart in the background, you can specify whether or not to animate it on render. Pass false as the parameter to perform the chart animation on redraw. Otherwise, pass true or call the render method without a parameter.

Show Example:
jQuery

In this example, you can change the container size using the button below. In order to redraw the range selector after the container size is changed, its render method is called. The chart within the range selector is animated on redraw because false is passed as the parameter to the render method.

<div id="rangeSelectorContainer" style="height:150px;width:700px; margin: 0 auto"></div>
<div style="height:20px;max-width:500px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type="button" id="changeContainerSizeButton" value="Change the container size" />
 </div>
var dataSource = [
    { arg: 1, val: 5 },
    { arg: 6, val: 8 },
    { arg: 3.5, val: 4 },
    { arg: 10, val: 10 },
    { arg: 8.4, val: 8.5 }
];

$(function () {
    $("#rangeSelectorContainer").dxRangeSelector({
        dataSource: dataSource,
        chart: {
            commonSeriesSettings: {
                type: 'spline'
            },
            series: {}
        }
    });

    $('#changeContainerSizeButton').click(function () {
        var rangeSelector = $('#rangeSelectorContainer').dxRangeSelector('instance');
        if ($('#rangeSelectorContainer').height() > 120 || $('#rangeSelectorContainer').width() > 600) {
            $('#rangeSelectorContainer').height(120);
            $('#rangeSelectorContainer').width(600);
        } else {
            $('#rangeSelectorContainer').height(150);
            $('#rangeSelectorContainer').width(700);
        }
        rangeSelector.render()
    });
});

setSelectedRange(selectedRange)

Sets a specified range.

Parameters:
selectedRange: Object
An object representing the start and end values of the selected range to be set.
Object structure:
startValue: Date|Number|String
An end value of the selected range.
endValue: Date|Number|String
An end value of the selected range.

To set start and end values, use the startValue and endValue fields of the object passed as the selectedRange parameter.

Show Example:
jQuery

In this example, the [5, 8] range is selected after the dxRangeSelector widget is displayed. Change the selected range and click the 'Set default selected range' button. The [5, 8] range will be selected using the setSelectedRange option.

<div id="rangeSelectorContainer" style="height:120px;max-width:600px;margin: 0px auto"></div>
<div style="height:60px; max-width:200px;margin:5px auto;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center">
    <input type='button' id='setDefaultRangeButton' value='Set default selected range'>
</div>
var defaultRange = {
    startValue: 5,
    endValue: 8
};

$(function () {
    $("#rangeSelectorContainer").dxRangeSelector({
        scale: {
            startValue: 0,
            endValue: 10
        },
        selectedRange: defaultRange
    });

    $("#setDefaultRangeButton").click(function () {
        var rangeSelector = $('#rangeSelectorContainer').dxRangeSelector('instance');
        rangeSelector.setSelectedRange(defaultRange);
    });
});

showLoadingIndicator()

Displays the loading indicator.

The loading indicator does not appear automatically. In order to display it, the showLoadingIndicator() method should be invoked.

To hide the loading indicator from code, use the hideLoadingIndicator() method.

Show Example:
jQuery

In this example, the showLoadingIndicator() method invokes when the example loads. Note that it is not necessary to conceal the loading indicator using the hideLoadingIndicator() method, since it executes automatically.

<div id="rangeSelectorContainer" style="height:120px;max-width:600px;margin:0px auto"></div>
var rangeSelectorOptions = {
    scale: {
        startValue: 0,
        endValue: 10,
        minorTickInterval: 0.25,
        label: { font: { color: 'olive' } },
        tick: { color: 'yellow' }
    },
    background: { color: 'darkseagreen' },
    shutter: { color: 'white' },
    sliderMarker: {
        color: 'seagreen',
        format: 'fixedPoint',
        precision: 2
    }
};

$(function () {
    $("#rangeSelectorContainer").dxRangeSelector().dxRangeSelector('instance').showLoadingIndicator();
});

var configureRangeSelector = function () {
    var rangeSelector = $("#rangeSelectorContainer").dxRangeSelector('instance');
    rangeSelector.option(rangeSelectorOptions);
};

setTimeout(configureRangeSelector, 3000);

svg()

Returns the widget's SVG markup.

Return Value: String
The widget's SVG markup.

NOTE: This method does not support Internet Explorer 8.

Show Example:
jQuery

Click the Get SVG below the range selector, and the SVG copy of this range selector will appear.

<div style="display:inline-block">
    <div id="rangeSelectorContainer" style="height:120px;max-width:400px;margin: 5px auto;display:inline-block"></div>
    <div id="widgetSVG" style="height:120px;max-width:400px;margin: 5px auto;display:inline-block"></div>
</div>
<div style="height:30px; max-width:800px;font-family:'Trebuchet MS',Arial,sans-serif;font-size:14px;text-align:center;">
    <input type='button' id='getSVG' value='Get SVG'>
</div>
$(function () {
    $("#rangeSelectorContainer").dxRangeSelector({
        background: { color: 'silver' },
        scale: {
            startValue: 0,
            endValue: 10
        },
        behavior: {
            snapToTicks: false,
            allowSlidersSwap: false
        }
    });

    $("#getSVG").click(function () {
        var rangeSelector = $('#rangeSelectorContainer').dxRangeSelector('instance');
        $('#widgetSVG').html(rangeSelector.svg());
    });
});