HTML5范围输入重新加载

时间:2015-02-27 23:41:59

标签: javascript html5 range

我正在开发一个使用Range输入类型的在线调查。到目前为止,我已设法将范围值发送到范围滑块上方的输出显示,并填充带有范围值的文本框。

但是,由于某种原因,从复选框重新加载值时,我没有太多运气。理想情况下,我还希望推送此重新加载的值以提供范围输入的值。

代码如下:



function vasOutputUpdate(val) {
  var val = document.getElementById('selectVAS').value;
  document.getElementById('vasOutput').value = val;
  document.getElementById('vasStored').value = val;
}
function reloadVAS() {
  var vas = document.getElementById('vasStored').value;
  if (vas == "") {
    vas = "";
  } else {
    document.getElementById('selectVAS').value = vas;
  }	
}
reloadVAS();

#selectVAS {
  width: 378px;
}
#vasStored {
  width: 50px
}

<input type="range" id="selectVAS" name="selectVAS" min="0" max="10" step="0.5" oninput="vasOutputUpdate(this.value);" />
<output for="selectVAS" id="vasOutput">5</output>
<input type="text" id="vasStored" />
&#13;
&#13;
&#13;

任何人都可以在我的代码中看到任何错误,或者知道这个问题的解决方案吗?我对此非常陌生,所以我想这很明显......

1 个答案:

答案 0 :(得分:0)

如果我理解得很好,你需要像

这样的东西

&#13;
&#13;
var range = document.getElementById('selectVAS'),
    output = document.getElementById('vasOutput'),
    text = document.getElementById('vasStored');
(range.oninput = text.oninput = function() {
  range.value = text.value = output.value = this.value;
}).call(range);
&#13;
#selectVAS {
  width: 378px;
}
#vasStored {
  width: 50px
}
&#13;
<input type="range" id="selectVAS" name="selectVAS" min="0" max="10" step="0.5" />
<output for="selectVAS" id="vasOutput">5</output>
<input type="text" id="vasStored" />
&#13;
&#13;
&#13;