我如何获得元素的选定选项? 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"
如何正确进行飞镖类型转换?
答案 0 :(得分:4)
通常,在处理任何HTML元素时,我通常首先查询HTML元素:
InputElement myElement = document.query(#myInputElement);
然后使用某个事件来捕获该元素中包含的值:
int val = Math.parseInt(myElement.value);
例如,在HTML中我可以有一个类型为range的输入元素:
<input id="mySlider" type="range" min="1000" max="10000" step="20" value="5000" />
在Dart中,我会使用鼠标按下事件获取此滑块的值:
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;
答案 1 :(得分:1)
只需要:
String str = document.query("#idOfSelect").value;
会发出警告,但你可以忽略它
答案 2 :(得分:0)
我用过:
var val = int.parse(query("#id").value, onError: (_) => 1);
这可以防止在查询(“#id”)的情况下发生异常.value为null并指定默认值(1)。