1

ASPX 单选按钮位于数据列表模板中

<asp:RadioButton ID="RadioButton1" runat="server"  
        GroupName="rdb" 
        Text='<%#  Eval("type1") %>'  
        onclick="Getr1(this)"/>

JavaScript

function getr1(val){
    alert(val)
}

如果我在任何 html 控件中使用此函数,它将返回一个值,但它在 aspx 单选按钮中不起作用。我使用了这段代码: onchange="GetQty(this.options[this.selectedIndex].value)"从 aspx 下拉列表中获取选定的索引,它工作得很好,也许有人可以帮助我找出 aspx rb 的正确语法。我已经试过了onclick="Getr1(this.options[this.checked].value)",在此先感谢

4

2 回答 2

1

您的代码很好,只需要稍作改动。

<asp:RadioButton ID="RadioButton1" runat="server"  
    CliientIDMode="Static" GroupName="rdb" 
    Text='<%#  Eval("type1") %>' />

 <asp:Label ID="Label1" runat="server" style="font-size: x-small"
    Text='<%# Eval("type1") %>'></asp:Label>

用于获取RadioButton 文本的 jQuery :

$("#RadioButton1").click(function{
    alert( $(this).siblings('label').text());
});

用于获取asp:Label Text旁边的 RadioButton 的 jQuery:

$("#RadioButton1").click(function{
    alert( $(this).siblings('span').text());
});

希望能帮助到你 :)

于 2013-02-21T10:47:23.250 回答
0

试试这个 JavaScript。

function Getr1(elm) {
    var nextElm = elm.nextSibling;
    //catching white space, comments etc...
    while (nextElm && nextElm.nodeType != 1) {
        nextElm = nextElm.nextSibling
    }
    alert(nextElm.innerHTML);
}

原因:asp:RadioButton在浏览器中是这样渲染的

<input id="MainContent_RadioButton1" type="radio" onclick="Getr1(this);" 
     value="RadioButton1" name="ctl00$MainContent$rdb">
<label for="MainContent_RadioButton1">your rendered text here</label>

而如果你使用 jQuery,它就会像这样简单。

function Getr1(elm) {
    alert( $(elm).next().html() );
}
于 2013-02-21T08:23:22.240 回答