Javascript 使用;这";有多个选择
想要完全理解Jquery中的“this”是如何工作的 一些HTML生成3个选择下拉列表、错误消息和按钮Javascript 使用;这";有多个选择,javascript,jquery,Javascript,Jquery,想要完全理解Jquery中的“this”是如何工作的 一些HTML生成3个选择下拉列表、错误消息和按钮 <select class="kwas"> <option value="-1">-- wybierz --</option> <option value="yes">tak</option> <option value="no">nie</option> </select> <di
<select class="kwas">
<option value="-1">-- wybierz --</option>
<option value="yes">tak</option>
<option value="no">nie</option>
</select>
<div style="display: none;" class="error">Can't be done</div>
<select class="kwas">
<option value="-1">-- wybierz --</option>
<option value="yes">tak</option>
<option value="no">nie</option>
</select>
<div style="display: none;" class="error">Can't be done</div>
<select class="kwas">
<option value="-1">-- wybierz --</option>
<option value="yes">tak</option>
<option value="no">nie</option>
</select>
<div style="display: none;" class="error">Can't be done</div>
<button class="button">Click Me!</button>
我想要实现的不是重复myslef并编写一个函数来显示
特定select上的错误消息,其值为“是”,但在其他select上没有。
如果任何选择的值为“是”,则隐藏按钮
我知道如何写得难看,但如何使它优雅
尝试使用该方法,它允许您查找DOM中的下一个元素,在您的示例中,是一个带有类的元素。错误
示例:
$(".kwas").change(function(){
if ($(this).val() == 'no' ) {
$(this).next('.error').hide();
$('.button').show();
} else {
$(this).next('.error').show();
$('.button').hide();
}
});
尝试使用该方法,它允许您查找DOM中的下一个元素,在您的示例中是带有.error
类的元素,示例:
$(".kwas").change(function(){
if ($(this).val() == 'no' ) {
$(this).next('.error').hide();
$('.button').show();
} else {
$(this).next('.error').show();
$('.button').hide();
}
});
你可以试试这个
$(".kwas").change(function(){
if ( $(this).val() == 'no' ) {
$(this).next('.error').hide()
$('.button').show();
}else {
$(this).next('.error').show();
$('.button').hide();
}
});
你可以试试这个
$(".kwas").change(function(){
if ( $(this).val() == 'no' ) {
$(this).next('.error').hide()
$('.button').show();
}else {
$(this).next('.error').show();
$('.button').hide();
}
});
谢谢你们的帮助!你离我很近,但我需要的是,即使有一个答案是“是”,按钮也会关闭。在您的解决方案中,当我将答案设置为“是、是、否”时,最后一个“否”使按钮处于活动状态。对我有效的是:
$(".kwas").change(function(){
if ($(this).val() == 'no' ) {
$(this).next('.error').hide();
} else {
$(this).next('.error').show();
}
if($('#a1').val() === 'yes' ||
$('#a2').val() === 'yes' ||
$('#a3').val() === 'yes' ){
$('.button').hide();
} else {
$('.button').show();
}
});
做这项工作,但我认为它不优雅。所有附加id和讨厌的if。
感谢您的反馈
谢谢大家的帮助!你离我很近,但我需要的是,即使有一个答案是“是”,按钮也会关闭。在您的解决方案中,当我将答案设置为“是、是、否”时,最后一个“否”使按钮处于活动状态。对我有效的是:
$(".kwas").change(function(){
if ($(this).val() == 'no' ) {
$(this).next('.error').hide();
} else {
$(this).next('.error').show();
}
if($('#a1').val() === 'yes' ||
$('#a2').val() === 'yes' ||
$('#a3').val() === 'yes' ){
$('.button').hide();
} else {
$('.button').show();
}
});
做这项工作,但我认为它不优雅。所有附加id和讨厌的if。
感谢您的反馈
很酷,谢谢!只需注意,它对按钮有效,但对按钮无效。可能按钮的next()不是必需的。抱歉@Szymon,我的代码是错误的,不是正确的:)我更正了代码。不用担心,还有一件事。似乎当我会做出混合的回答,如是,否,否,它仍然允许我点击按钮。问题是,即使我只有一个“是”,其余的“否”。按钮必须隐藏:)酷,谢谢!只需注意,它对按钮有效,但对按钮无效。可能按钮的next()不是必需的。抱歉@Szymon,我的代码是错误的,不是正确的:)我更正了代码。不用担心,还有一件事。似乎当我会做出混合的回答,如是,否,否,它仍然允许我点击按钮。问题是,即使我只有一个yes和rest no。按钮必须隐藏:)Close,似乎当我有yes、no、no时,我仍然可以单击按钮。逻辑是即使我只有一个是。隐藏按钮。关闭,似乎当我有是、否、否时,我仍然可以单击按钮。逻辑是即使我只有一个是。隐藏按钮。