Оценка элемента управления RadioButtonList с помощью JavaScript - ASP.Net

Я разрабатываю веб-сайт с использованием asp.net и C #.

Я использую элемент управления RadioButtonList. Фрагмент кода для RadioButtonList показан ниже.

 <asp:RadioButtonList ID="RLCompareParameter" runat="server" 
            RepeatDirection="Horizontal" meta:resourcekey="rsKey_RLCompareParameter" 
            AutoPostBack="True" 
            onselectedindexchanged="RLCompareParameter_SelectedIndexChanged">
          <asp:ListItem Selected="True" Value="Forms" meta:resourcekey="rsKey_RLCompareParameterListItemForms" Text="Forms"></asp:ListItem>
          <asp:ListItem Value="Segments" meta:resourcekey="rsKey_RLCompareParameterListItemSegments" Text="Segments"></asp:ListItem>
          <asp:ListItem Value="Questions" meta:resourcekey="rsKey_RLCompareParameterListItemQuestions" Text="Questions"></asp:ListItem>
     </asp:RadioButtonList>

На этой же странице есть кнопка. Нажимая на эту кнопку, я хочу отобразить предупреждающее сообщение на основе выбранного элемента списка радио с помощью javascript. Некоторая часть моей функции javascript показана ниже

  var RLCompareParameter = this.document.getElementById("<%= RLCompareParameter.ClientID %>");
         if (RLCompareParameter.SelectedValue == "Forms") {
             if (document.getElementById("<%= lbAvailableForms.ClientID %>").value == "") {
                 alert("Please select a form from Available Evaluation Forms ");
                 return false;
             }


         } else if (RLCompareParameter.SelectedValue == "Segments") {
             if (document.getElementById("<%= lbAvailableSegments.ClientID %>").value == "") {
                 alert("Please select a segment from the available segments ");
                 return false;
             }
         } else if (RLCompareParameter.SelectedValue == "Questions") {
             if (document.getElementById("<%= lbAvailableQuestions.ClientID %>").value == "") {
                 alert("Please select a Question from the available questions");
                 return false;

             } 
         }

Но if (RLCompareParameter.SelectedValue == "какое-то значение") всегда ложно. Я думаю, что нет такого атрибута, как выбранное значение для элемента управления RadioButtonList. Надеюсь кто-нибудь мне поможет


person Null Pointer    schedule 08.11.2010    source источник
comment
ой, извини. я ошибся. ошибки нет. См. Отредактированный вопрос. Это просто минуя оператор if. И я не знаю, как оценить RadioButtonList с помощью javascript. правильный ли фрагмент java abpve? Спасибо   -  person Null Pointer    schedule 08.11.2010


Ответы (1)


В html нет RadioButtonList. Ваша переменная RLCompareParameter будет ссылкой на таблицу или диапазон, содержащий три входных элемента (это то, что элемент управления ASP.NET выводит на вашу страницу). SelectedValue предназначен только для кода ASP.NET, а не для javascript.

Вам нужно будет получить ссылку на конкретный элемент input и посмотреть его свойство checked в ваших операторах if, чтобы узнать, выбран ли этот переключатель или нет. Есть несколько способов сделать это. Вот что может сработать:

 var RLCompareParameter = document.getElementById("<%= RLCompareParameter.ClientID %>");
 var radioButtons = RLCompareParameter.getElementsByTagName('input');

 if (radioButtons[0].checked) {
     if (document.getElementById("<%= lbAvailableForms.ClientID %>").value == "") {
         alert("Please select a form from Available Evaluation Forms ");
         return false;
     }
 } else if (radioButtons[1].checked) {
     if (document.getElementById("<%= lbAvailableSegments.ClientID %>").value == "") {
         alert("Please select a segment from the available segments ");
         return false;
     }
 } else if (radioButtons[2].checked) {
     if (document.getElementById("<%= lbAvailableQuestions.ClientID %>").value == "") {
         alert("Please select a Question from the available questions");
         return false;

     } 
 }
person patmortech    schedule 08.11.2010