-2

如果找到“X 特定字符串”,我需要能够隐藏下拉框。关于如何做到这一点的任何想法我将不胜感激。我搜索了隐藏文本框/下拉列表,但找不到通过搜索整个页面使其工作的方法。谢谢

我没有选择任何搜索和隐藏,因为它不起作用。http://stackoverflow.com/questions/6848797/show-hide-drop-down 我已经看到了这个选项。

4

1 回答 1

0

要从 JavaScript 操作元素,您需要以某种方式获取对它的引用,这可以通过多种方式完成 - 没有任何上下文可以继续我建议您最好的选择是确保您的 select 元素具有id属性:

<select id="myDropDown" name="whatever">
     <option>One</option>
     <option>Two</option>
</select>

...然后使用document.getElementById(). 然后要隐藏它,您可以更新适当的样式属性:

document.getElementById("myDropDown").style.display = "none";
// OR
document.getElementById("myDropDown").style.visibility = "hidden";

Usingdisplay:none导致浏览器呈现文档,就好像该元素不存在一样,即它不会为它留下空间。使用visibility:hidden会使它不可见,但页面上会有一个空白区域。

有不止一种方法可以测试页面上的特定字符串,但一种方法是通过 body 元素的innerHTMLtextContent(或在 IE 中innerText)属性获取所有内容,然后使用.indexOf()

var searchString = "some string",
    pageContent = document.body.innerHTML;

if (pageContent.indexOf(searchString) != -1) {
   document.getElementById("myDropDown").style.display = "none";
}

放置代码的位置取决于您何时要进行测试。onload如果您想在没有用户输入的情况下执行此操作,则可以将其放入处理程序中,否则将其放入单击处理程序或适当的东西中。

演示:http: //jsfiddle.net/n8uA9/

于 2012-11-14T23:29:42.200 回答