我遇到的问题是,我想读取输入类型=“ range”的输入值。 这适用于普通的JavaScript,但是我现在只能使用JQuery做到这一点。 我已经尝试过的:
currentContext.Response.OutputStream.Dispose();
currentContext.Request.InputStream.Dispose();
currentContext = null;
这是它返回的错误
curValue = $("#radioVolume").val();
[ng]类型“数字”不能分配给类型“字符串”。
现在,我尝试使用以下方法将其转换为数字:
Argument of type 'string | number | string[]' is not assignable to parameter of type 'string'.
在阅读了一些过去的Stack Overflow问题之后,我找到了答案以解决此问题:
curValue = parseInt($'#radioVolume').val()); // and
curValue = parseFloat($'#radioVolume').val());
所有这些解决方案均无效。
//编辑(解决方案):现在可以使用了,我不必将其转换为带有以下内容的数字:curValue = parseFloat($'#radioVolume').val()).toFixed(2);
。
答案 0 :(得分:0)
使用DOM值函数将Range元素的值类型定义为字符串https://www.w3schools.com/jsref/prop_range_value.asp(请参见返回值)
请注意,范围<input min=1 max=2 step=0.1 type="range">
的min,max和step属性不会更改返回的类型。尽管字符串中表示的值是浮点数(“ 1.1”,“ 1.2”等),它仍然是一个字符串
Range元素的JQuery val()函数将返回整数,字符串或数组:http://api.jquery.com/val/取决于元素,在范围情况下为字符串。
我为您准备了http://jsfiddle.net/j62Lheo8/这个小提琴,用于比较DOM和JQuery选择器范围值的类型。
// HTML
<div id="banner-message">
<p>The range chaos</p>
<input id="range-selector" min=1 max=2 step=0.1 type="range"/>
<span id="range-value">JQ Value</span>
<span id="range-type"></span>
<span id="dom-range-value">DOM Value</span>
<span id="dom-range-type"></span>
</div>
// JS
var banner = $("#banner-message")
var range = $("#range-selector")
var value, type, domvalue, domtype;
// handle click and add class
range.on("change", function(){
value = $("#range-selector").val()
type = typeof value
domvalue = document.getElementById("range-selector").value
domtype = typeof domvalue
$("#range-value").text(value)
$("#range-type").text(type)
$("#dom-range-value").text(domvalue)
$("#dom-range-type").text(domtype)
})
因此,基本上,您将需要对字符串内的表示类型进行显式强制。
当range返回的字符串包含整数表示形式时,请使用parseInt()。 当range返回的字符串包含浮点数的表示时,请使用parseFloat()(step是浮点数的示例:step = 0.1)。