Soru Onay kutusu işaretli ise JQuery doğrulama-seçimi gereklidir


jquery kullanarak Belirli bir onay kutusu işaretlenmişse, istenen bir kutudan seçim yapmak istiyorum (yani boş varsayılan olarak bırakılamaz). Kodum:

$(document).ready(function(){
  $("#myForm").validate({
    rules: {
      myDropDown: {
        required: {       
          depends: function(element) {
            return $("#myCheckbox:checked")
          }
        }
      }
    }
  })
})

Html:

<input type="checkbox" name="myCheckbox" id="myCheckbox" value="1">
<select name="myDropDown" id="myDropDown">
  <option value="" selected></option>
  <option value="1">Choice 1</option>
  <option value="2">Choice 2</option>
  <option value="3">Choice 3</option>
</select>

Çalışmıyor kod sadece javascript'in bir sonraki bölümü olarak sahip olduğum jquery sekmelerini dışarı atıyor.

Herhangi bir tavsiye takdir edildi.

Düzenleme: Artık tüm parantezlerimi sıralıyorum, şimdi şimdi kutuyu işaretli kutunun işaretli olup olmadığına bakılmaksızın seçim kutusunu zorunlu kılan bir alan oluşturmasıdır. Sayfadaki diğer javascript şimdi çalışıyor.


29
2017-07-04 15:33


Menşei


Hangi eklentiyi kullanıyorsunuz? - dotty
Üzgünüm, jquery.validate.min.js kullanıyorum - Howard Shaw


Cevaplar:


Lütfen bunu deneyin

$(document).ready(function(){
  $("#myForm").validate({
    rules: {
               myDropDown:{
                  required: function (element) {
                     if($("#myCheckbox").is(':checked')){
                         var e = document.getElementById("myDropDown");
                         return e.options[e.selectedIndex].value=="" ;                            
                     }
                     else
                     {
                         return false;
                     }  
                  }  
               }
           }
  });
});  

28
2017-07-05 05:01



Merhaba, teşekkürler, ancak bu onay kutusunu işaretli olup olmadığına göre açılır kapanır. - Howard Shaw
Kodu değiştirdim .. lütfen kontrol et. ekledi yanlış dönmek başka koşulda - Mahesh KP
Bu hile yaptı - harika, çok teşekkür ederim. - Howard Shaw


bunun gibi çalışabilmeli:

rules : {
 myDropDown:{required:"#myCheckbox:checked"}
}

34
2018-03-06 15:02



Bu çalışır ve belgelere göre standart yöntemdir: jqueryvalidation.org/category/methods/... - gillytech
Bu en basit cevaptır ve bu nedenle daha iyi bir yoldur. - JGilmartin
Çalışır ve en iyi yöntemdir ... - WalkerNuss


Bu bir çekicilik gibi çalışır

inputname:
{
    required: function(){
        if($("select[name=inputname]").val() == 1){
            return true;
        }
        else
        {
            return false;
        }
    }
}

Giriş adını tercih ettiğiniz şekilde düzenleyebilirsiniz.

Giriş alanına değiştirmek için seçim parçasını girişe değiştirebilirsiniz.


8
2017-10-07 07:38



Bu sıkıştırılmış olabilir required: function(){ return $("select[name=inputname]").val() == 1; } - quickshiftin
Ya da daha doğrusu: required: function(){ return $("#elementID").val() === 1; } - Brock Hensley
Belgelere göre (jqueryvalidation.org/category/methods/...) Kullanılacak uygun yöntem rules : { myDropDown: required:{"#myCheckbox:checked"}} - gillytech


Hangi eklentiyi kullandığınızı bilmiyorum ama

 return $("#myCheckbox:checked")

Onay kutunuz işaretliyse bir Jquery nesnesi döndürür. Bence daha doğru olur:

 return $("#myCheckbox").is(':checked')

Hangi doğru ya da yanlış döner.

Belki de senin sorununla hiçbir ilgisi yok.


0
2017-07-04 15:49



Kod, burada ikinci 'kurallar' örneğine dayanmaktadır: docs.jquery.com/Plugins/Validation/validate#toptions - Howard Shaw
Teşekkürler, ancak önerdiğiniz çizgiyi değiştirmek, onay kutusu işaretlendiğinde seçim yapılmasına izin vermez. - Howard Shaw