1

我有一个像这样的单选按钮列表,我正在尝试将其设为必填字段并使用表单验证(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 所需的功能。所以它从不验证我的列表,尽管我在提交时没有选择任何内容。我如何重写以便可以使用 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>
4

4 回答 4

1

你可以在文档就绪处理程序上有这样的东西

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

或者如果你想在外部 js 文件中使用它

$(".rbclass input").addClass("required");
于 2012-07-06T18:23:29.037 回答
0

试试这个:

  $(document).ready(function(){
    $('.rbclass input').addClass('required') // or $('#PlateType1')...
  })
于 2012-07-06T18:25:23.000 回答
0

在运行时为 Radiobuttonlist 添加一些属性(data-type = radio, data-required=1

然后下面的脚本 vil validate(multiple) 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": ""
                });
            }
        });
于 2013-05-30T10:25:15.130 回答
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");
于 2015-06-28T13:36:19.873 回答