所以我有以下JavaScript代码:
<script type="text/javascript">
function clearRadioButtons()
{
document.getElementById("radiobutton1").checked="";
//etc for more radio buttons
}
</script>
然后在我的表格中,我有以下代码:
<select name="whatever" onclick="clearRadioButtons()">
<option onclick="clearRadioButtons()"></option>
//and so on and so forth for <option> tags with values
</select>
问题是,即使我点击select
或option
元素,也不会实际调用该函数。如果我在浏览器的调试器中调用JS函数,它工作正常,但事件没有被触发。我在这做错了什么?我觉得这很简单,但谁知道呢。
TIA。
答案 0 :(得分:2)
我认为你想在select元素上使用onchange事件。
function clearRadioButtons () {
document.getElementById("radiobutton1").checked="";
//etc for more radio buttons
}
window.onload = function () {
//Event binding...
document.getElementById('whatever').onchange = clearRadioButtons;
};
<select id="whatever" name="whatever">
<option></option>
...
</select>
答案 1 :(得分:2)
您将函数传递为
clearRadioButtons().
括号使得函数正确执行。您应该使用clearRadioButtons,而不使用()。这样,它传递了对函数的引用。
答案 2 :(得分:1)
Ikke说了什么,但我也应该指出你不应该将checked属性设置为“”,因为它是DOM属性而不是你正在修改的元素属性 - 将它设置为布尔值。