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;

            }

firebugを介して要素を検査すると、これが起こっています。ラベル 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

実行時にいくつかの属性を 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

これを試して:

  $(document).ready(function(){
    $('.rbclass input').addClass('required') // or $('#PlateType1')...
  })
于 2012-07-06T18:25:23.000 に答える
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 に答える