【问题标题】:Javascript - How to hide a drop down control if it's emptyJavascript - 如果下拉控件为空,如何隐藏它
【发布时间】:2017-01-27 23:22:06
【问题描述】:

我在表单上有一个级联下拉菜单。用户选择文档类型,大多数文档类型都有类别。但是,如果文档类型没有类别,那么我想隐藏类别下拉列表。有没有办法查看类别下拉列表(计算数组或其他内容)和隐藏类别控件(默认情况下,即使下拉列表没有任何值可供选择,它也始终显示选择值)

到目前为止,我已经关注并想知道如何根据用户在文档类型下拉控件中选择的内容来评估类别下拉控件。

NWF$(document).ready(function(){  
     var varDocType= NWF$('#' + jsDocTypes)// gets Doc Type control;
     varDocType.change(function(){  
          if(this.value !== null){  
            alert(varDocType.val());
            var varCategory = NWF$('#' + jsCategory)// gets Category control;
            alert(varCategory.val());
            if(varCategory == ''){
              NWF$('#' + jsCategory).style.visibility = "hidden";

           }
          }  

     });  
});

【问题讨论】:

  • 您可以查询 option 元素,如果长度 == 0,则表明下拉列表的选择元素为空。

标签: javascript jquery forms sharepoint sharepoint-2010


【解决方案1】:

测试一下:

select:empty {
    display: none;
}
Invisible: ||<select></select>--<br>
Visible (whitespace): ||<select> </select>--<br>
Visible (children): ||<select><option>Options!</option></select>--

我不知道 NWF$ 是什么,但如果你想通过 javascript 隐藏元素:

TheElement.style.display = "none";

【讨论】:

  • 我从未听说过:empty psudo 类。可能最好弄清楚限制(即空格计数):developer.mozilla.org/en-US/docs/Web/CSS/:empty
  • 实际上,这并没有帮助。我在类别有 5 个项目的地方发出警报,它显示为空白。我需要 JS 来评估类别桶,因为它会根据文档类型而变化。然后仅在下拉数组为空时隐藏。
  • @Fuji-H2O - 您是否隐藏了基于与其无关的数组的元素?还是基于它的孩子options 的“数组”?
  • 如果某个文档类型没有类别,用户不想看到类别。这就是为什么如果类别下拉列表没有填充任何值,我必须计算或评估并隐藏它
猜你喜欢
  • 2011-07-16
  • 1970-01-01
  • 1970-01-01
  • 2021-01-18
  • 2016-05-18
  • 2017-08-31
  • 2014-08-19
  • 1970-01-01
  • 2012-06-10
相关资源
最近更新 更多