2009-08-19 60 views
0

我使用這個jQuery的表單驗證插件:http://docs.jquery.com/Plugins/Validation/MethodsjQuery的表單驗證插件依賴性回調

我試圖使用扶養回調:http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-callback

我所試圖做的是隻需要「BAR」當「FOO」有一定的值時。

這裏有一個基本的例子:

<select name="FOO" id="FOO"> 
    <option></option> 
    <option value="someValue">some Value</option> 
</select> 

$("form[name=myForm]").validate({ 
    rules: { 
    FOO: {required: true}, 
    BAR: { 
      required: function(element) { 
      return $("#FOO").val() == 'someValue'; 
     }, 
    maxlength: 10   
    } 
    }  
}); 

但是,這是行不通的。我也嘗試使用:選擇像這樣:

return $("#FOO :selected").val() == 'someValue'; 

任何人都可以發現問題可能是什麼?

EDIT =將FOO的ID添加到select

回答

1

select元素沒有ID FOO。

您應該添加:

<select id="FOO" name="FOO"> 

或者做出正確的選擇:

$('select[name=FOO]') 
+0

非常感謝,我剛剛看到並更新了...我更新了代碼。 – jyoseph 2009-08-19 18:38:04

+0

啊!實際上,現在我看着我的代碼(上面只是一個例子),我看到選擇菜單沒有ID。感謝您指出,腦屁時刻。 – jyoseph 2009-08-19 18:38:58

0
<script type="text/javascript"> 
jQuery.validator.setDefaults({ 
    debug: true, 
    success: "valid" 
});; 
</script> 

<script> 
    $(document).ready(function(){ 
    $("#myform").validate({ 
    rules: { 
    age: { 
     required: true, 
     min: 3 
    }, 
    parent: { 
     required: function(element) { 
     return $("#age").val() < 13; 
     } 
    } 
    } 
}); 
$("#age").blur(function() { 
    $("#parent").valid(); 
}); 


    }); 
    </script> 

這一定是適合你的工作。