2012-10-30 174 views
1

有人能告诉我这个jQuery代码是否合理。我把它封装在一个文件准备块中。我试图隐藏一个元素,如果一组条件为真,但是当我点击提交按钮时,知道其中一个复选框确实被选中,元素就会出现而不是被隐藏。有没有什么明显的我缺少下面的代码:jQuery的隐藏元素

  $('#submit').on('click', function() { 
      if ($('#Option1').not(':checked') && 
      $('#Option2').not(':checked') && 
      $('#Option3').not(':checked') && 
      $('#Option4').not(':checked') && 
      $('#Option5').not(':checked')) { 
       $("form").submit(function() { 
        return false; 
       }); 
       $('#selectOption').show(); 
      } else { 
       $('#selectOption').hide(); 
      } 
     }); 
+0

什么是不工作? – frenchie

回答

2

当提交表单时隐藏或显示任何东西确实没有用,因为它会重定向页面。我会做这样的事情,并检查是否有开始选择一个ID的框,检查,然后防止点击,如果未选中任何复选框等:

$('#submit').on('click', function(e) { 
    if (!$('[id^="Option"]').is(':checked')) { 
     e.preventDefault(); 
     $('#selectOption').show(); 
    } 
});