2009-07-30 30 views
-1

您好我有一个简单的模态弹出,其中有3个名称字段和3个电子邮件领域彼此相邻。我是jQuery的新手,所以任何人都可以帮助我如何为以下情况编写逻辑?如何使用如果规则在jquery

第一个名称字段和电子邮件字段是强制性的,所以我保留该类作为必填字段,但其他两个名称和电子邮件字段是可选的,但如果我在名称字段中输入值,则必须在电子邮件中输入值领域。换句话说,如果名称字段不为空,则电子邮件字段不应该为空。请让我知道,如果有人能帮助我,谢谢。

jQuery代码如下所示从阿贾克斯其获取数据

function shareWithAFriend(itemId) { 
     $.ajax({ 
      url: "shareWithAFriend.do?itemId="+itemId, 
      type: "GET", 
      success: function(html) { 
       $("#tellInfoPop").html(html); 
       $("#itemId").val(itemId); 
       $("#emailFriend").validate({ 
        errorClass: "formError", 
        errorContainer: "#referAFriendFormError", 
        errorLabelContainer: "#referAFriendFormError", 
        onfocusout: false, 
        wrapper: 'li', 
        messages: { 
         referName01: { 
          required: "<@spring.message "referAFriend.error.nameRequired"/>" 
         }, 
         referEmail01: { 
          required: "<@spring.message "referAFriend.error.emailRequired"/>", 
          email: "<@spring.message "referAFriend.error.emailFormat"/>" 
         }, 
         referEmail02: { 
          email: "<@spring.message "referAFriend.error.emailFormat"/>" 
         }, 
         referEmail03: { 
          email: "<@spring.message "referAFriend.error.emailFormat"/>" 
         }, 
         securityKey: { 
          required: "<@spring.message "referAFriend.error.securityRequired"/>" 
         } 
        }, 
        groups: { 
         emailGroup: "referEmail01 referEmail02 referEmail03" 
        }, 

的HTML代码是休耕

<div class="leftCol"> 
     <label for="emailToName1" class="formLabel"><span class="required">*</span>Name:</label> 
     <div><input type="text" id="emailToName1" name="referName01" value="${referAFriendBean.referName01!}" class="required" tabindex="1" /></div> 
     <div class="pad5Top"><input type="text" id="emailToName2" name="referName02" value="${referAFriendBean.referName02!}" tabindex="3" /></div> 
     <div class="pad5Top"><input type="text" id="emailToName3" name="referName03" value="${referAFriendBean.referName03!}" tabindex="5" /></div> 
    </div> 

    <div class="rightCol"> 
     <label for="emailToAddress1" class="formLabel"><span class="required">*</span>Email address:</label> 
     <div><input type="text" id="emailToAddress1" name="referEmail01" value="${referAFriendBean.referEmail01!}" class="required email" tabindex="2" /></div> 
     <div class="pad5Top"><input type="text" id="emailToAddress2" name="referEmail02" class="email" tabindex="4" value="${referAFriendBean.referEmail02!}" /></div> 
     <div class="pad5Top"><input type="text" id="emailToAddress3" name="referEmail03" class="email" tabindex="6" value="${referAFriendBean.referEmail03!}" /></div> 
    </div> 
    </div> 

回答

0

我想你可以添加一个事件处理程序的可选名称元素这将动态添加或删除所需的地址类。

我不知道,如果我在这里选择合适的ID,但你应该得到的想法:

$('#emailToName2').keyup(function() { 
    if ($(this).val()) { 
     $('#emailToAddress2').addClass('required'); 
    } else { 
     $('#emailToAddress2').removeClass('required'); 
    } 
}); 

甚至短的版本,但可能不太可读,如果你是新来的jQuery

$('#emailToName2').keyup(function() { 
    $('#emailToAddress2').toggleClass('required', $(this).val()); 
}); 
+0

工作很好谢谢你的真棒 – raj 2009-07-30 09:22:07