4
我驗證這個簡單一點我的形式:jQuery驗證,只有當某些單選按鈕選擇
<script type="text/javascript">
$(function()
{
$("#postform").validate({
rules: {
post_title: "required",
post_url: "required",
post_code: "required",
post_content: "required",
post_tags: "required"
}
});
});
</script>
,但我不希望要求POST_URL或post_code如果不檢查某個單選按鈕,因爲他們得到當我選擇它們時隱藏。例如這裏是電臺:
<li><label for="r1"><input type="radio" name="post_category" id="r1" value="12" checked="checked" /> Share an Article</label></li>
<li><label for="r4"><input type="radio" name="post_category" id="r4" value="14" /> Share a Link</label></li>
<li><label for="r3"><input type="radio" name="post_category" id="r3" value="13" /> Share some Code</label></li
,然後這是隱藏或顯示他們的jQuery代碼:
<script type="text/javascript">
jQuery(document).ready(function($)
{
$("input[name='post_category']").change(function()
{
$("#discussion-label").toggle(this.value == "12");
});
$("input[name='post_category']").change(function()
{
$("#code-container").toggle(this.value == "13");
$("#code-label").toggle(this.value == "13");
});
$("input[name='post_category']").change(function()
{
$("#link-container").toggle(this.value == "14");
$("#link-label").toggle(this.value == "14");
});
$("input#r1:checked").change();
$("input#r3:checked").change();
$("input#r4:checked").change();
});
</script>
這樣的想法是,當用戶選擇第一個單選按鈕只有POST_TITLE,POST_CONTENT和post_tags將被驗證。如果用戶選擇第二個單選按鈕,它也將驗證post_url字段,如果他們選擇第三個單選按鈕,那麼它將驗證post_code字段,但不是post_url了,反之亦然。
任何人都可以幫忙嗎?由於
爲什麼要多次設置更改處理程序? – mattsven 2011-03-17 18:54:46