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