在radiobutton列表索引更改时不调用Javascript

时间:2011-11-23 12:44:38

标签: c# javascript asp.net

我已经编写了javascript代码,但它没有被调用。我试图调用表单html方面,也通过从页面加载事件中分配属性,但它根本没有被调用。

这是我的javascript的代码。

function rdbantiplatelet_onClick(thiscontrol, trName) {
    alert('hi');
    var RB1 = thiscontrol;
    var radio = RB1.getElementsByTagName("input");
    var trDose = document.getElementById(trName.toString());
//  var RB1 = document.getElementById("<%=this.rdbantiplatelet.ClientID%>");
//  var radio = RB1.getElementsByTagName("input");
//  var tblAntiplatelet = document.getElementById("<%=tblAntiplatelet.ClientID %>");

    for (var i = 0; i < radio.length; i++){
        if (radio[i].checked){
            trDose.style.display = "";
            return true;
        }
        else{
            trDose.style.display = "none";
            return true;
        }
    }
    return false;
    }

这是调用在page_load事件中编写的javascript的代码。

rdbantiplatelet.Attributes.Add("OnClick", "return rdbantiplatelet_onClick(this,'" +  trDose.ClientID.ToString() + "');");

3 个答案:

答案 0 :(得分:1)

首先尝试alert()确保onclick被解雇,然后尝试rdbantiplatelet_onClick()功能:

rdbantiplatelet.Attributes.Add("OnClick", "alert('I am working');");

答案 1 :(得分:0)

首先,这里提供一个标准html事件列表

http://www.w3schools.com/tags/ref_eventattributes.asp

尝试将这样的内容添加到html radiobutton元素

onchange =“alert('on change fired');”

onclick =“alert('on click fired');

所以你可以确保你正在开展正确的活动。

获得正确的事件后,将警报调用替换为您的方法

这将是这样的

onchange =“rdbantiplatelet_onClick(this,this.parent.id)”

...您可能需要更改'this.parent.id'

确保您正在使用一个良好的Web浏览器进行开发FireFox与firebug插件非常适合这些东西。

答案 2 :(得分:0)

您将click事件添加到包含radiobuttons的html表中。使用下面的脚本:

foreach (ListItem item in rdbantiplatelet.Items)
{
    item.Attributes.Add("onclick", "return foobar(this);");
}