3

ラジオボタンのリストがあります。

          <asp:RadioButtonList ID="RadioButtonList1" runat="server" 
              RepeatDirection="Horizontal" RepeatLayout="flow" >
             <asp:ListItem Selected="True" Text ="Yes" Value="0"></asp:ListItem>
             <asp:ListItem  Text ="No" Value="1"></asp:ListItem>
          </asp:RadioButtonList>

そして、ラジオリストから値を取得するために、関数があります:

 function getvalueofradiolist() {

        var radiolist = document.getElementById('<%= RadioButtonList1.ClientID %>');
        var rblName = radiolist.name;
        var radio = document.getElementsByName(rblName);

        for (var x = 0; x < radio.length; x++) {
            if (radio[x].checked) {
                alert("Selected item Value " + radio[x].value);
            }
        }
    }

しかし、未定義を返します。

私は何か間違ったことを書きましたか?

ボタンのクリック時にこの関数を呼び出しています。

Javascriptにもかかわらず、コードビハインドの助けを借りてこれを行うことができるかどうか提案してください。

4

4 に答える 4

13
<form runat="server">
<asp:RadioButtonList ID="RadioButtonList1" runat="server" 
          RepeatDirection="Horizontal" RepeatLayout="flow" >
         <asp:ListItem Selected="True" Text ="Yes" Value="0"></asp:ListItem>
         <asp:ListItem  Text ="No" Value="1"></asp:ListItem>
      </asp:RadioButtonList>    </form>
<p id="button" onclick="getvalue()">click me</p>

<script type="text/javascript">
function getvalue(){
 alert($('#<%=RadioButtonList1.ClientID %> input[type=radio]:checked').val());
}
</script>
于 2012-09-26T06:18:39.867 に答える
1

コードに関して

var rblName = radiolist.name;

name 属性すらありません

于 2012-09-26T06:44:28.357 に答える
0

input内部の要素を直接取得することについての詳細:

function getvalueofradiolist() {
    var radiolist = document.getElementById('<%= RadioButtonList1.ClientID %>');
    var radio = radiolist.getElementsByTagName("input");

    for (var x = 0; x < radio.length; x++) {
        if (radio[x].type === "radio" && radio[x].checked) {
            alert("Selected item Value " + radio[x].value);
        }
    }
}
于 2012-09-26T06:40:40.317 に答える
0

あなたが試すことができます:

function getvalueofradiolist() {

            var radioButtonlist = document.getElementsByName("<%=RadioButtonList1.ClientID%>");
            for (var x = 0; x < radioButtonlist.length; x++) {
                if (radioButtonlist[x].checked) {
                    alert("Selected item Value "  + radioButtonlist[x].value);
                }
}
于 2012-09-26T06:06:06.747 に答える