2012-07-25 75 views
0

你好,我想使用jQuery驗證,麻煩與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") 
      } 
     } 
    }); 
}); 

調試也沒有在Firebug精簡版顯示(和檢查元素工具)上CHR青梅和檢查員在Safari上

任何想法傢伙

+0

你用什麼樣的形式驗證jQuery的擴展? (谷歌給了我很多「jQuery驗證」的結果。)或者你想編寫自己的驗證工具嗎? – kay 2012-07-25 00:16:41

+1

編輯帖子,靠近頂部 – molleman 2012-07-25 00:21:48

回答

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.