我怎么可以得到元素选定的选项? document.query(“#ID”) - 返回元素已经不看重属性格式,所以我不能做的:
var val = document.query("#id").value;
var val = (SelectElement)(document.query("#id")).value; // - "SelectElement is class and cannot be used as an expression"
如何正确地做镖类型转换?
我怎么可以得到元素选定的选项? document.query(“#ID”) - 返回元素已经不看重属性格式,所以我不能做的:
var val = document.query("#id").value;
var val = (SelectElement)(document.query("#id")).value; // - "SelectElement is class and cannot be used as an expression"
如何正确地做镖类型转换?
一般来说,任何HTML元素打交道时,我通常会先查询HTML元素:
InputElement myElement = document.query(#myInputElement);
然后使用一些事件来获取包含在该元素的值:
int val = Math.parseInt(myElement.value);
因此,例如,在HTML我可以有类型范围的输入元素:
<input id="mySlider" type="range" min="1000" max="10000" step="20" value="5000" />
在飞镖,我会抓住用鼠标向上事件这个滑块的值:
InputElement mySlider = document.query('#mySlider');
mySlider.on.mouseUp.add((e) {
int _val = Math.parseInt(mySlider.value);
document.query('#status').innerHTML = "$_val";
});
编辑:在M1 ,您现在可以只使用转换运算符as
。 如果你的HTML是这样的:
<p id="text">This is some text</p>
您可以通过这样做检索段落标记文本:
String str = (query('#text') as ParagraphElement).text;
只需要:
String str = document.query("#idOfSelect").value;
将被警告,但你可以忽略它
我用了:
var val = int.parse(query("#id").value, onError: (_) => 1);
这防止了异常的情况下,查询(“#标识”)。值为空,并分配一个缺省值(1)。