jQuery验证Form的规则有问题

时间:2012-07-25 00:13:17

标签: jquery html forms validation

您好我正在尝试使用jQuery验证,

基本上我有一个表格,无论如何都需要某些元素,

但是我还有其他只需要复选框的字段

我正在使用jQuery验证    这是documentation

的链接

这是我的表格

<form action="http://www.funnytennisstories.com/save-story.php" method="POST" name="story-form" id="storyForm">
<fieldset>
    <label for="Your Story">Your Story</label>
    <textarea class="required" name="your-story" cols="" rows=""></textarea>
    <label for="free-wrist-band">Check the box to receive a free tennis wristband &nbsp;  </label>
    <input id="free-wrist-band-check-box" name="free-wrist-band" type="checkbox" />
    <label for="address">Address</label><input id="address" class="txtClass shipping" name="address" type="text" >
    <input type="submit" name="story-post" value="Post Your Story"/>
 </fieldset>
</form>

所以我已经把它减少了很多,但基本上如果选择free-wrist-band-check-box我应该放入地址文本,但如果没有检查我不应该放入任何文本

这是我写过的javascript,但如果选中该复选框则无效

<script>

 $(document).ready(function(){

    $("#storyForm").validate({
    debug:true,
       rules: {
         shipping: {
             required: $("#free-wrist-band-check-box:checked")
           }
       }
    });
});

调试也没有在chrome上的firebug lite(和inspect元素工具)和safari上的inspector中显示

任何想法家伙

1 个答案:

答案 0 :(得分:1)

$(document).ready(function(){...})

中添加此内容
$('#free-wrist-band-check-box').on('change', function(){
    if($(this).is(':checked')) $("#address").rules("add", "required");
    else $("#address").rules("remove", "required");
});

因此,只有在address text box被选中时才需要checkbox

DEMO.