I am trying to label a slider as in jQuery UI Slider Labels Under Slider. I am not dealing with a ui-slider however, but rather with the slider widget from oTree.
The excellent answer to the question Mandatory slider in oTree/django explains how to use a jQuery selector to select an oTree slider:
$('[data-slider] input[type="range"]')
I have a slider that shows the current selected value (0-100). What I would like to do is to add a few labels below the slider (e.g. "cold", "neutral", "warm" if the slider value is a temperature). I tried the following code to select the oTree slider and append labels, but no labels appear.
{% formfield player.mySliderInput type="Slider"}
{% block scripts %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var mylabel = $('<label>25</label>').css('left', '25%');
$('[data-slider] input[type="range"]').append(mylabel);
});
</script>
{% endblock %}
The HTML of the page looks as follows:
<div class="form-group required">
<label class="col-form-label" for="id_myInput">How hot is it? (0-100):</label>
<div class="controls field-myInput">
<div class="input-group slider" data-slider>
<input type="range" name="myInput" value="None"
step="1"
min="0"
max="100"
required
id="id_myInput"
class="form-control"
/>
<div class="input-group-append">
<span class="input-group-text" data-slider-value title="current value"></span>
</div>
</div>
</div>
</div>
I am unsure of which object (div? input?) to select and append the labels to.