下拉式验证并将JavaScript上的If语句与额外的验证条件结合起来?

下拉式验证并将JavaScript上的If语句与额外的验证条件结合起来?,javascript,html,Javascript,Html,我有一个函数来检查值是否符合要求,它工作正常,所以我有一个下拉选择来验证同样的条件,但是下拉值不同,我只检查空白选择。 目标: 任何改进JS或正确组合JS的方法。 非常感谢 //用于第一个下拉列表 函数checkPrimeSelectChangeValue{ var selObj=document.getElementByIddropdown1; var selValue=selObj.options[selObj.selectedIndex].value; 如果selValue=={//如果

我有一个函数来检查值是否符合要求,它工作正常,所以我有一个下拉选择来验证同样的条件,但是下拉值不同,我只检查空白选择。 目标: 任何改进JS或正确组合JS的方法。 非常感谢

//用于第一个下拉列表 函数checkPrimeSelectChangeValue{ var selObj=document.getElementByIddropdown1; var selValue=selObj.options[selObj.selectedIndex].value; 如果selValue=={//如果选择空白,则添加css进行验证 $dropdown1.attr'disabled','disabled'; $dropdown1.addClasstext-error; }否则{ $btnUpdateForm.removeAttr'disabled';//disabled按钮 removeErrordropdown1;//删除程序错误 } 回来 } //第二个下拉列表,如下所示 函数checkSecondSelectChangeValue{ var selObj2=document.getElementByIddropdown2; var selValue2=selObj.options[selObj.selectedIndex].value; 如果selValue2=={//如果选择空白,则添加css进行验证 $dropdown2.attr'disabled','disabled'; $dropdown2.addClasstext-error; }否则{ $btnUpdateForm.removeAttr'disabled';//disabled按钮 removeErrordropdown2;//删除程序错误 } 回来 } //我可以这样做吗?或者我可以做什么 函数checkCombinedSelectChangeValue{ var selObj=document.getElementByIddropdown1; var selObj2=document.getElementByIddropdown2; var selValue=selObj.options[selObj.selectedIndex].value; var selValue2=selObj.options[selObj.selectedIndex].value; 如果selValue=={//如果选择空白,则添加css进行验证 $dropdown1.attr'disabled','disabled'; $dropdown1.addClasstext-error; }否则{ $btnUpdateForm.removeAttr'disabled';//disabled按钮 removeErrordropdown1;//删除程序错误 } 回来 如果selValue2=={//如果选择空白,则添加css进行验证 $dropdown2.attr'disabled','disabled'; $dropdown2.addClasstext-error; }否则{ $btnUpdateForm.removeAttr'disabled';//disabled按钮 removeErrordropdown2;//删除程序错误 } 回来 } 第一个下拉列表1

A. B C 无 第二个下拉列表1

A. B C 无
我对你的函数做了一些优化,假设它应该在你的选择改变时运行。我还假设您希望将disabled属性添加到btnUpdateForm中,因为您提供的代码并不清楚这一点

首先将disabled属性添加到更新按钮,如下所示:

 <button id="btnUpdateForm" disabled>Update</button> 

基本上,现在每个下拉列表都会显示value=的错误,只有当两个下拉列表的值都不是0时,按钮才会启用。

请注意:id在HTML上是错误的,应该是dropdown1和dropdown2在组合函数上var selValue和var selValue2是相同的,何时触发函数?谢谢Matt,我会在逻辑上测试它,它看起来比我的好得多。没问题。您可能需要更改一些内容,因为不清楚何时显示错误或错误在哪里。最后,我选择了我认为最适合本案的行为。
<p>1st dropdown1 </p>
<select class="dropdown" name="test" id="select">
    <option value="">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="nil">nil</option>
</select>
<br>

<p>2nd dropdown1 </p>
<select class="dropdown" name="test" id="select2">
    <option value="">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="nil">nil</option>
</select>
$('.dropdown').change(function() {
   var val1 = $('#select').val();
   var val2 = $('#select2').val();

   if (val1 == '' || val2 == '') {
      $('#btnUpdateForm').prop('disabled', true);
      if (val1 == '') {
         $('#dropdown1').addClass('text-error');
         if (val2 !== '') {
            $('#dropdown2').removeClass('text-error');
         }
      }
      else if (val2 == '') {
         $('#dropdown2').addClass('text-error');
         if (val1 !== '') {
            $('#dropdown1').removeClass('text-error');
         }
      }
   }
   else {
      $('#btnUpdateForm').prop('disabled', false);
      $('#dropdown1').removeClass('text-error');
      $('#dropdown2').removeClass('text-error');
   }
});