在两种情况下我需要能够通过软件点击或更改所选的单选按钮,但我无法弄清楚如何做到这一点。
一个实例是用户在错误的时间点击按钮。我抓住了,但点击的按钮现在显示为已选中,因此我需要将其更改回来。
另一种情况是用户将显示与其他地方维护的主数据库同步(在同时运行的单独Java应用程序中),并且存在需要纠正的差异。
在我的HTML文档中
<div id='radio-btns' class='radio-btns'>
<input id='B12' type='radio' name='radio-btn' checked>
<label id='lblB12' class='radiobutton-label' for='B12'>IR </label>
<input id='BWB' type='radio' name='radio-btn' >
<label id='lblBBW' class='radiobutton-label' for='BWB'>Wide</label>
<input id='B10' type='radio' name='radio-btn' >
<label id='lblB10' class='radiobutton-label' for='B10'>B10</label>
<input id='B08' type='radio' name='radio-btn' >
<label id='lblB8' class='radiobutton-label' for='B08'>B8 </label>
</div>
在客户端Dart代码:
querySelectorAll('input[type="radio"]').onClick.listen(bandBtnClicked);
// later on in onClick()
ButtonElement bandBtn = querySelector('#$correctBand');
bandBtn不是null但我不知道如何处理它来模拟点击。我想我宁愿取消选择错误点击的单选按钮,然后选择应单击单选按钮。我没有尝试过任何作品。
[edit]这有效!
ButtonInputElement bandBtn = querySelector('#$correctBand');
bandBtn.click();
答案 0 :(得分:1)
您可以更改所选的单选按钮,如下所示。如果你更新你的问题以使其更清楚,我可以提供更好的解决方案(如果这不是你想要完成的)。
HTML:
<div id='radio-btns' class='radio-btns'>
<input id='B12' type='radio' name='radio-btn' checked>
<label id='lblB12' class='radiobutton-label' for='B12'>IR </label>
<input id='BWB' type='radio' name='radio-btn' >
<label id='lblBBW' class='radiobutton-label' for='BWB'>Wide</label>
<input id='B10' type='radio' name='radio-btn' >
<label id='lblB10' class='radiobutton-label' for='B10'>B10</label>
<input id='B08' type='radio' name='radio-btn' >
<label id='lblB8' class='radiobutton-label' for='B08'>B8 </label>
</div>
<button>click me</button>
镖:
main () {
dom.querySelectorAll('input[type="radio"]').onClick.listen(bandBtnClicked);
dom.querySelectorAll('button').onClick.listen(bandBtnClicked);
}
void bandBtnClicked(event) {
(dom.querySelector('#B08') as dom.RadioButtonInputElement).checked = true;
}