Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用;这";有多个选择_Javascript_Jquery - Fatal编程技术网

Javascript 使用;这";有多个选择

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

想要完全理解Jquery中的“this”是如何工作的

一些HTML生成3个选择下拉列表、错误消息和按钮

<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时,我仍然可以单击按钮。逻辑是即使我只有一个是。隐藏按钮。关闭,似乎当我有是、否、否时,我仍然可以单击按钮。逻辑是即使我只有一个是。隐藏按钮。