У меня есть ползунок, который позволяет пользователям выбирать лучшую версию отчета в зависимости от разрешения, которое они выбирают в ползунке (Есть несколько причин, по которым я не хочу читать разрешение в реальном времени, которые мне не нужны чтобы попасть так я остановился на слайдере с предопределенными опциями). Проблема здесь в том, что когда они выбирают другое разрешение, отчет обновляется, и ползунку возвращается значение по умолчанию, которое показывает вводящую в заблуждение настройку.
Исходя из того, что выбрал пользователь, я сохраняю значение индекса (0-4) в div id='getResolution'
. Поэтому, если пользователь выберет 1366x768, он будет содержать значение 3. Затем я хочу обновить defaultValue
входного div на 3, чтобы при обновлении страницы отображалось правильное значение. У меня есть код ниже, некоторые из которых могут показаться забавными тем, кто не разбирается в том, как Spotfire делает HTML. Понятия все же все же.
Слайдер выглядит так:
Это исходный код для установки ползунка:
<div class="slideContainer" id="slideContainerID">
<input class="sliderCustom" id="input" type="range" min="0" value="4" max="4" step="1" title="Use this slider to scale the report to your screen resolution">
<div>Resolution: <span id="output"></span></div>
Это javascript, который я использую, чтобы передать вещи обратно в spotfire, изменить текст под ползунком и (надеюсь) обновить значение по умолчанию:
//get a handle on the range object
var input = document.getElementById('input'),
output = document.getElementById('output');
//will contain the correct index value for the selection (0-4)
var defValue = document.getElementById('getResolution');
//array to show resolution selected
var resolution = ['1024x768','1280x800','1280x1024','1366x768','Full Size'];
//Trying to set the default value here. This is the code that doesn't seem to work
input.defaultValue = defValue.innerHTML;
//When value changes, select the correct resolution from the array and pass that to Spotfire
//Pass the resolution string to innerHTML to show
input.oninput = function(){
$("#kickResolution input").val(resolution[this.value]);
$("#kickResolution input").focus();
$("#kickResolution input").blur();
output.innerHTML = resolution[this.value];
};
input.oninput();
tl; dr - Помогите мне обновить defaultValue
диапазона значением, содержащимся в getResolution