jQuery,尝试根据所选内容validation一个字段或另一个字段

我试图设置一个表单,用户必须从选择中选择一个选项或在输入中输入一个值。 一个必须要求,但不是两个。 我试图写一个if else语句

如果选择了状态,则删除省上的类,如果省填充则删除类on state

$("#state").bind('change' , function() { if ( $(this).is(':selected') ) { $(this).parents('.foreign').removeClass("required"); } else{ $(#province).is(':filled'); $(this).parents('.usa').removeClass("required"); } }); 

但我知道这不是怎么做的。 希望有人能够了解我正在尝试的内容。 提前致谢! 基本上你可以选择这个或那个但不是两个。

在我的头顶,试试这个:

  

 $('#state_province').bind('change', function() { if($('option:selected', this).val() == 'state') { $('option[value=state]', this).show().addClass("required"); $('option[value=province]', this).hide().removeClass("required"); } else { $('option[value=province]', this).show().addClass("required"); $('option[value=state]', this).hide().removeClass("required"); } }); 

根据您的评论进行修改:

啊,所以你想要的东西:(抱歉,我是从记忆中做到这一点,所以可能有调整)

   

===

 $('.state_province').bind('change', function() { var jThis = $(this); if ( jThis.is('select:selected') ) { // state selected jThis.addClass("required"); $('input.state_province').removeClass("required"); $(this).parents('.usa').addClass("required"); } if ( jThis.is('input:filled') ) { // province filled jThis.addClass("required"); $('select.state_province').removeClass("required"); $(this).parents('.usa').removeClass("required"); } });