您好我有一个简单的模态弹出窗口,其中有3个名称字段和3个电子邮件字段彼此相邻。我是jQuery的新手,所以任何人都可以帮助我如何编写以下案例的逻辑?
第一个名称字段和电子邮件字段是必填字段,因此我将该类保留为必填字段,但另外两个名称和电子邮件字段是可选的,但如果我在名称字段中输入值,则必须在“电子邮件”字段中输入值。换句话说,如果名称字段不为空,则电子邮件字段不应为空。如果有人能帮助我,请告诉我。
jQuery代码如下从ajax获取数据
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 :(得分:0)
我认为您可以为可选的name元素添加一个事件处理程序,它将动态添加或删除所需的地址类。
我不知道我是否在这里选择了正确的ID,但你应该明白这个想法:
$('#emailToName2').keyup(function () {
if ($(this).val()) {
$('#emailToAddress2').addClass('required');
} else {
$('#emailToAddress2').removeClass('required');
}
});
甚至是短版本,但如果您不熟悉jQuery,则可能性较差
$('#emailToName2').keyup(function () {
$('#emailToAddress2').toggleClass('required', $(this).val());
});