需要有关radiobuttons的javascript帮助

时间:2011-07-06 08:20:51

标签: javascript asp.net radio-button

我想在第二次单击时禁用radiobutton ..我想在头部放一些代码..当第二次点击radiobutton时,它不再标记..

我想每次点击检查并取消选中单选按钮。

注意:我动态生成20个radiobuttons

考虑到它是在服务器上运行的Radiobutton:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.radiobutton.aspx

更新:这是RadioButton(asp WebControl在=“server”运行)的唯一事件:

    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    var rad = (CheckBox)sender;
    if (rad.Checked)
    {

        rad.Checked = false;
    }
}

我可以在每个帖子后取消选中..但除非回发没有发生,我不能选择并取消选择它。这就是问题! :(

3 个答案:

答案 0 :(得分:2)

我认为你应该继续使用RadioButtons的标准用法,比如说 - 使用 CheckBoxes ,如果点击了另一个复选框,则清除所有复选框...所以当点击一个复选框时第二次将发生标准取消选中。

答案 1 :(得分:0)

我创建一个空数组。对于您创建的每个单选按钮,将其ID作为键添加到数组中,并将其值设置为0.这将是特定按钮的计数。无论何时单击单选按钮,检查数组的按钮ID,如果小于2,则递增它。如果没有,请禁用当前按钮。

编辑:没有意识到你在检查它是否已被检查过,这是检查的次数。

$( “#ID”)是( “:检查”)

应该足够了

另一个注意事项......如果你所做的只是禁止某个元素被用户访问,你应该在客户端处理这个事件。您将使用不必要的服务器回调来轻松实现通过javascript实现的功能。使用jquery click事件处理程序,它可以是通用的,不必使用标识符,使工作更容易。

干杯

答案 2 :(得分:0)

如果我告诉你的话     你需要的是你点击单选按钮多少次的标志属性,每次你点击收音机时属性增加1,如果是第二次,每次点击检查属性,然后禁用单选按钮

所以你需要像这样生成你的无线电按钮

<input type='radio' onclick='radioClick(this);' how_many_clicked='0' id='whatever id u need' name='whatever name u need' />

并在头部创建ur函数,如下所示

   function radioClick(e) {

    var flag = e.getAttribute('how_many_clicked');
    var times = Number(flag);
    times += 1;
    e.setAttribute('how_many_clicked', times.toString())
    if (times > 1) {
        e.checked = false;
        e.setAttribute('how_many_clicked', "0");
    }
    else {
        e.checked = true;
    }
}