javascript - 仅当下拉元素存在时才显示 tr/td 元素

标签 javascript jquery

我试图隐藏 tr/td,并且仅通过在下拉列表中选择正确的 tr/td 来显示。

我尝试遵循,但不起作用。也许有人看出出了什么问题。预先感谢您的帮助。

下拉菜单:

<tr>    
    <td>Dropdown_TEST:</td>
    <td><select required id=" Dropdown_TEST">
               <option value=""></option>
               <option  class="cont" value="TEST 1"> TEST 1</option>
               <option class="cont_1"  value=" TEST 2"> TEST 2</option> 
         </select> 
    </td>
</tr>

示例 1:

<tr class="display">    
    <td>TEST:</td>
    <td><input id="pl" name="pl" type="text" maxlength="50" size="50"></td>
</tr>

示例2

<tr class=" display_1"> 
   <td>TEST 2:</td>
   <td><select required id="platt">
            <option value=""></option>
            <option value="yes, is working"> yes, is working </option>
            <option value="no is not working"> no is not working </option>
       </select> 
   </td>
</tr>

Jquery:

<script>
$(document).ready(function(){
    if($('.cont).length)
        $('.display).show();
});

$(document).ready(function(){
    if($('.cont_1).length)
        $('.display_1).show();
});

</script

非常感谢您的帮助和支持。

最佳答案

$(document).ready(function(){
  //evaluate when the dropdown changes
  $('#Dropdown_TEST').on('change', function(){
    //reset everything to visible
    $('.display, .display_1').show();

    //if you do not have a value, ignore
    if (this.value.trim()) {
      //hide first display if it should not be shown
      if (this.value !== 'TEST 1') {
        $('.display').hide();
      }

      //hide the second display if it should not be shown
      if (this.value !== 'TEST 2') {
        $('.display_1').hide();
      }
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td>Dropdown_TEST:</td>
    <td>
      <select required id="Dropdown_TEST">
        <option value=""></option>
        <option class="cont" value="TEST 1"> TEST 1</option>
        <option class="cont_1" value="TEST 2"> TEST 2</option>
      </select>
    </td>
  </tr>
  <tr class="display">
    <td>TEST:</td>
    <td><input id="pl" name="pl" type="text" maxlength="50" size="50"></td>
  </tr>
  <tr class="display_1">
    <td>TEST 2:</td>
    <td>
      <select required id="platt">
        <option value=""></option>
        <option value="yes, is working"> yes, is working </option>
        <option value="no is not working"> no is not working </option>
      </select>
    </td>
  </tr>
</table>

关于javascript - 仅当下拉元素存在时才显示 tr/td 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50728938/

相关文章:

javascript - PDF 文档到 WebAPI 供下载

javascript - 使用 display none 而不是 html 呈现 html

JavaScript - 未捕获的 ReferenceError : checkAnswer is not defined, 函数不在范围内?

javascript - 获取选定行的单元格值

javascript - 为什么要在继承对象之外声明原型(prototype)函数?

javascript - 在 Laravel 中验证多个用户生成的标签

jquery - 如何控制 Nivo Slider 预加载图像的方式?

javascript - Bootstrap scrollspy 未检测到 home

jquery - 验证 MVC 表单中的复选框

javascript - React-Native Realm TypeError : Reflect. 构造要求第一个参数是构造函数 - 错误