簡體   English   中英

jQuery驗證無法正常工作?

[英]Jquery validation not working properly?

我正在嘗試在asp.net頁面中進行所需的驗證。 我有多個控件將被隱藏和顯示。 諸如checkboxlistdropdownlistmultiselectedlistbox類的控件。 我正在使用一個名為必選的CSS類,將其附加到所有這些控件上以檢查驗證。

我試圖檢查每個控件是否有價值,但是我的代碼正在檢查每個控件中的每個選項。

我真的沒有找到不是新手的專家嗎...

這是我的代碼,任何想法都可以。

                    $("input[type='submit']").click(function () {

                  if ($(this).val() != 'Back') {

                      var names = [];
                      var info=" ";
                     $('.required input').each(function () {
                 var control = $(this);
                 if (control.is(':enabled')) {
                      names[$(this).attr('name')] = true;
                 }
             });
             $('.required option').each(function () {
                 var control = $(this);
                 if (control.is(':enabled')) {
                    names[$(this).attr('name')] = true;
                 }
             });  
                        for (name in names) {
                          var radio_buttons = $("input[name='" + name + "']");
                          if ((radio_buttons.filter(':checked').length == 0) ||(radio_buttons.filter(':selected').length == 0)) {
                              info += radio_buttons.closest("table").find('label').html()+"</br>";
                          }

                      }
                  if (info != " ") {
                      $("#validation_dialog p").html(info);
                      $("#validation_dialog").dialog({
                          title: "Validation Error!",
                          modal: true,
                          resizable: false,
                          buttons: {
                              Close: function () {
                                  $(this).dialog('close');
                              }
                          }
                      });
                      return false;
                  }
                  }
              });

這是一個小提琴...

http://jsfiddle.net/bDmgk/35/

我認為您想要的是:

$(".required input[type='radio']:checked").each(function(){

});

代替 :

$(".required option").each(function(){ ... });

嗨,我對您的提琴進行了一些更改,基本上,我像這樣檢查每列中的輸入,然后將它們添加到您的名稱數組中。

使用

$('table.required:eq(0) input:checked')

如果返回的數組的長度為0,則我可以得到所有在第一列上檢查的輸入,然后不檢查任何輸入,其他輸入過程則相同。

是的,那些輸入名稱很奇怪。

檢查這個小提琴

JSFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM