如何在jquery中使用if规则
嗨,我有一个简单的模式弹出窗口,其中有3个名称字段和3个电子邮件字段彼此相邻。我是jQuery的新手,所以任何人都可以帮助我如何为以下情况编写逻辑吗 “名字”字段和“电子邮件”字段是必填字段,因此我将该类保留为必填字段,但其他两个“姓名”字段和“电子邮件”字段是可选字段,但如果在“姓名”字段中输入值,则必须在“电子邮件”字段中输入值。换句话说,如果名称字段不为空,则电子邮件字段不应为空。如果有人能帮我,请告诉我。谢谢 jQuery代码如下:从ajax获取数据如何在jquery中使用if规则,jquery,css-selectors,conditional-statements,Jquery,Css Selectors,Conditional Statements,嗨,我有一个简单的模式弹出窗口,其中有3个名称字段和3个电子邮件字段彼此相邻。我是jQuery的新手,所以任何人都可以帮助我如何为以下情况编写逻辑吗 “名字”字段和“电子邮件”字段是必填字段,因此我将该类保留为必填字段,但其他两个“姓名”字段和“电子邮件”字段是可选字段,但如果在“姓名”字段中输入值,则必须在“电子邮件”字段中输入值。换句话说,如果名称字段不为空,则电子邮件字段不应为空。如果有人能帮我,请告诉我。谢谢 jQuery代码如下:从ajax获取数据 function shareWith
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"
},
函数shareWithAFriend(itemId){
$.ajax({
url:“shareWithAFriend.do?itemId=“+itemId,
键入:“获取”,
成功:函数(html){
$(“#tellInfoPop”).html(html);
$(“#itemId”).val(itemId);
$(“#emailFriend”).validate({
errorClass:“formError”,
errorContainer:#refereafriendformerror“,
errorLabelContainer:#refereafriendformerror“,
onfocusout:false,
“李”,
信息:{
参考名称01:{
必需:“”
},
参考电子邮件01:{
必填项:“”,
电子邮件:“
},
参考电子邮件02:{
电子邮件:“
},
参考电子邮件03:{
电子邮件:“
},
安全密钥:{
必需:“”
}
},
小组:{
电子邮件组:“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>
*姓名:
*电邮地址:
我认为您可以为可选的name元素添加一个事件处理程序,它将动态添加或删除address所需的类
我不知道我是否在这里选择了正确的ID,但你应该知道:
$('#emailToName2').keyup(function () {
if ($(this).val()) {
$('#emailToAddress2').addClass('required');
} else {
$('#emailToAddress2').removeClass('required');
}
});
或者甚至是短版本,但如果您是jQuery新手,则可读性可能会降低
$('#emailToName2').keyup(function () {
$('#emailToAddress2').toggleClass('required', $(this).val());
});
嘿,rayell,我怎样才能给你一个复选标记,你能告诉我是否有任何方法可以在规则中编写相同的代码:而不是使用向上键函数。你应该在这个答案下面看到复选标记。只需单击它。我不确定如何重写此代码以使其与jQuery验证规则一起工作。问题是那些当一个字段验证不依赖于其他字段值时,les工作得很好。事实上,我的解决方案没有向验证添加任何内容,它只是在keyup事件中向字段添加或删除一个额外的验证规则。很抱歉,但我没有任何方法使其更简单。