2012-07-06 93 views
1

我有一個這樣的radiobuttonlist,我試圖使這個必填字段,並使用表單驗證(jQuery驗證插件)。radiobuttonlist jquery表單驗證

    <asp:RadioButtonList ID="PlateType1" runat="server" CssClass="rbclass required"> 
        <asp:ListItem>New</asp:ListItem> 
        <asp:ListItem>Renewal</asp:ListItem> 
       </asp:RadioButtonList> 

顯然幕後,asp.net引擎生成表等形式驗證插件並不瞭解所需的的CssClass function.So它從來沒有驗證我的名單,但我不選擇上提交任何東西。 我如何重寫,以便我可以使用jQuery驗證插件?

我rbclass是

  .rbclass 
      { 
      float:left; 
      display:block; 

      } 

通過螢火檢查的元素,這是發生了什麼。緊跟在單選按鈕後面生成標籤class =「error」。我如何控制它,以便它在New之後。

   <td> 
       <input id="MainContent_PlateType1_0" class="ui-wizard-content ui-helper-reset ui-state-default required error" type="radio" value="New" name="ctl00$MainContent$PlateType1"> 
       <label class="error" for="ctl00$MainContent$PlateType1" generated="true">This field is required.</label> 
       <label for="MainContent_PlateType1_0">New</label> 
      </td> 

這裏是我的更新標記它引用生成的ID名稱

 <label for="PlateType1" class="rblabel">This plate is: <span class="required_field">*</span></label> 
       <asp:RadioButtonList ID="PlateType1" runat="server" CssClass="rbclass"> 
        <asp:ListItem>New</asp:ListItem> 
        <asp:ListItem>Renewal</asp:ListItem> 
       </asp:RadioButtonList> 
       <span> 
        <label class="error" for="ctl00$MainContent$PlateType1" >Please select either New or Renewal</label> 
        </span> 
+0

要驗證什麼?是否僅僅驗證選擇了至少一個選項? – Adil 2012-07-06 18:23:10

+0

是否檢查單選按鈕 – cableload 2012-07-06 18:23:30

回答

1

你可以有像這樣的文件準備處理

$("#<%= PlateType1.ClientID %> input").addClass("required"); 

,或者如果你想擁有這裏面外部js文件

$(".rbclass input").addClass("required"); 
+0

這類工作..不幸的是錯誤信息此字段是必需的,請將文本新建和續訂按下一行。我想在新文本旁邊顯示錯誤消息。我可以用我的rbclass做些什麼來防止這種情況發生?我在頂部添加了我的rbclass – cableload 2012-07-06 18:34:53

+0

爲什麼要在「新建」旁邊顯示所需的消息?錯誤消息是針對單選按鈕列表,而不是針對每個單獨的輸入。也許我沒有明白你的意思 – 2012-07-06 19:38:03

+0

我的意思是在radiobuttonlist右邊顯示錯誤信息。它可以在新的或旁邊的更新或之間。希望你明白這一點。 – cableload 2012-07-06 19:43:41

0

嘗試:

$(document).ready(function(){ 
    $('.rbclass input').addClass('required') // or $('#PlateType1')... 
    }) 
0

添加在運行一些屬性的在RadioButtonList(數據類型=無線電,數據需要= 1

然後,下面腳本VIL驗證(多個)RadioButtonList的

function validateRadioBoxes() { 
     var isValid = true; 
     var radioButtonLists = $('table[data-type="radio"][data-required="1"]'); 
     radioButtonLists.each(function (key) { 
      isValid = ($(this).find("input[type=radio]:checked").length>0); 
      if (!isValid) { 
       $(this).css({ 
        "border": "1px solid red", 
        "background": "#FFCECE" 
       }); 
      } 
      else { 
       $(this).css({ 
        "border": "", 
        "background": "" 
       }); 
      } 
     }); 
0

ASP代碼:

<asp:RadioButtonList ID="rdbGender" runat="server" RepeatDirection="Horizontal"> 
    <asp:ListItem Value="Male">Male</asp:ListItem> 
    <asp:ListItem Value="Female">Female</asp:ListItem> 
</asp:RadioButtonList> 

jQuery代碼:

if($("#rdbGender input:radio:checked").val()==undefined)  
alert("Please Select Gender"); 
+0

將每個代碼段格式化爲單獨的片段時,您的回答看起來會更好。 – 2015-06-28 13:46:45