如何在JS中找到单选按钮的上一个/默认值?

时间:2010-04-23 21:19:50

标签: javascript html events radio-button

我不确定这是否可能,但我想我会在俱乐部之前提出一个丑陋的解决方案。

我所拥有的是一组单选按钮,如果更改单选按钮值,我想触发一个功能。例如,有三个按钮X Y和Z,默认选择为Y.如果用户点击未选择的按钮(即X或Z),则该功能被触发但如果他/她点击Y(已经选择)则没有任何反应。

当然,最好的解决方案是在onchange事件上触发该函数,但IE6不会触发onchange,直到焦点不再出现在不满意的元素上。

那么有没有办法知道单选按钮的前一个值是什么,或者至少是它的默认值是什么?我可以轻松地创建一个默认值数组并检查,但我正在尝试减少开销。

请不要jQuery suggestions;)

2 个答案:

答案 0 :(得分:2)

使用input元素的defaultChecked属性。

您也可以使用click事件,因为当用户使用空格键/输入键来“检查”时,点击事件也会触发。

答案 1 :(得分:0)

好吧,你可以在输入元素上使用onmousedown事件。它会执行您所要求的操作(在用户单击时激活事件),但使用onmousedown,您可以检查该元素是否已被选中。例如:

document.getElementById('#radio-button-x').onmousedown = function() {
    if (this.checked == true) {
        // was already selected
    } else {
        // not selected, do something
    }
};