2013-06-28 29 views
2
<asp:RadioButtonList ID="rbl" runat="server" onMouseUp="Myf()"> 
    <asp:ListItem Text="Yes" Value="1"></asp:ListItem> 
    <asp:ListItem Text="No" Value="0"></asp:ListItem>   
    </asp:RadioButtonList> 




function Myf() { 
      var list = document.getElementById("<%=rbl.ClientID %>"); 
      var inputs = list.getElementsByTagName("input"); 
      var selected; 
      for (var i = 0; i < inputs.length; i++) { 
       alert(inputs[i].innerHTML); 

      }   

     } 

我得到Radiobuttonlist的價值。如何獲取Radiobuttonlist的文本?如何獲取Radiobuttonlist的文本?

+1

你能提供的jsfiddle –

+0

單選按鈕的代碼沒有文字。文本在標籤元素中。 – YD1m

回答

6

首先單選按鈕沒有文字在你的代碼

其次,如果你看一下生成的HTML頁面的源代碼,你可以看到單選按鈕具有存儲文本的標籤。 所以你可以看看label而不是input在你的函數,它會獲取文本

function Myf() { 
     var list = document.getElementById("<%=rbl.ClientID %>"); 
     var inputs = list.getElementsByTagName("label"); 
     var selected; 
     for (var i = 0; i < inputs.length; i++) { 
      alert(inputs[i].innerHTML); 

     } 
    } 
+0

雅虎.. !!那解決它..天才.. – Pearl

+0

很高興我能幫忙。如果這解決了您的問題,請將其標記爲答案 –

1
+0

對不起,我收到空引用;警報(輸入[I] .getAttribute( 「文本」)); – Pearl

+1

RadioButtonList呈現爲表格document.getElementById(「<%= rbl.ClientID%>」);將一張表格未勾選元素 – cinek

+0

是的,你是對的。謝謝(你的)信息。 – Pearl

0
<asp:RadioButtonList ID="rbl" runat="server"> 
    <asp:ListItem Text="Yes" Value="1"></asp:ListItem> 
    <asp:ListItem Text="No" Value="0"></asp:ListItem>   
    </asp:RadioButtonList> 

$(document).ready(function() { 
    $('[id*="rdl"],[type="radio"]').change(function() { 
     if ($(this).is(':checked')) 
      console.log($(this).next('label').html()); 
    }); 
}); 
0

試試這個

function Myf() { 
     $("#<%=rbl.ClientID %>").find('input').each(function() { 
      var this_input = $(this); 
      alert($("#<%=rbl.ClientID %>").find('label[for="' + this_input.attr('id') + '"]').text()); 
     }) 

    } 
1

要獲得文本,你必須把「標籤」,而不是「輸入」在getelement。

嘗試這樣的:

var inputs = list.getElementsByTagName("label");