更改下拉列表时重置单选按钮

时间:2012-05-31 13:30:16

标签: javascript forms

我有一个包含下拉菜单的表单(您可以在图表中选择要绘制的参数)和两个单选按钮(以决定图表是否自动缩放。如果没有,则有一个文本框,您可以在其中可以定义比例)。当我在下拉列表中更改参数时,将使用新参数自动重绘图形。

但是我希望重置单选按钮,所以如果我选择了手动缩放,并且我更改了参数,它会变回自动缩放。这可能吗? 这是我的表单代码的一部分:

<select id="Graf1" onchange="makeChoice5();updateSelect(this,'Graf2');this.form.submit();" name="graf1">
    <option value="other">---------- Kies ---------- </option>
    <option value="1">Temperatuur</option>
    <option value="2">Relatieve vochtigheid</option>
    <option value="3">Straling</option>
    <option value="4">Dendrometer 1</option>
    <option value="5">Dendrometer 2</option>
    </select>
    </br>
    <input type="radio" name="schaal" value="1" checked="checked" onclick="makeChoice();">Automatische schaal </br>
    <input type="radio" name="schaal" value="other" onclick="makeChoice();">Handmatig
    <input type="text" name="schaalmin" size="6" value="---Min---" onclick="clickclear(this, '---Min---')" onkeydown="return ( event.ctrlKey || event.altKey 
        || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false) 
        || (95<event.keyCode && event.keyCode<106) || (event.keyCode==8) 
        || (event.keyCode==9) || (event.keyCode>34 && event.keyCode<40) 
        || (event.keyCode==46)
        || (event.keyCode==110) )">
    <input type="text" name="schaalmax" size="6" value="---Max---" onclick="clickclear(this, '---Max---')"  onkeydown="return ( event.ctrlKey || event.altKey
        || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false) 
        || (95<event.keyCode && event.keyCode<106) || (event.keyCode==8) 
        || (event.keyCode==9) || (event.keyCode>34 && event.keyCode<40) 
        || (event.keyCode==46)
        || (event.keyCode==110) )">

2 个答案:

答案 0 :(得分:0)

同名的单选按钮是一个数组,所以你必须循环遍历每个按钮并清除它们(除非你使用jQuery,很容易确定哪一个被选中并直接清除它。)

清除它们会起到这样的作用:

var r = document.forms[0].schaal
for(var x=0;x<r.length;x++) {
      document.forms[0].schaal[x].checked = false
}

答案 1 :(得分:0)

我找到了解决方案,我刚刚使用了这个小的简单函数,它被调用更改下拉列表。这样当我更改参数时,选择正确的单选按钮(而不是试图取消选择其他的):

function clearRadios() {
    document.form1.schaal[0].checked = true;
}