【问题标题】:JavaScript: On selection of different drop down menu items, I want more options to showJavaScript:在选择不同的下拉菜单项时,我希望显示更多选项
【发布时间】:2012-01-12 05:59:25
【问题描述】:

我有一个包含不同选项的下拉菜单。现在,在选择特定菜单项时,我希望显示更多选项。每个菜单项的每组选项都不同,我该怎么做?将新选项附加到文档的正确方法是什么?

【问题讨论】:

标签: javascript html drop-down-menu options


【解决方案1】:

扩展菜单是一个很大的话题,可以通过多种方式处理。根据您的需要,您可能最好将其从货架上拉下来而不是自己动手(除非您真的知道自己在做什么,否则您需要很长时间才能将其做好并使其完全跨浏览器) .

这是一个非常简单的例子http://javascriptsource.com/navigation/expanding-menu.html,但还有很多其他的。只需 google javascript 扩展菜单。

另外,如果你想使用 jQuery(我不喜欢它,但它非常适合这类事情,只要你不打算在移动设备网站上使用它)看看这: http://www.1stwebdesigner.com/css/36-eye-catching-jquery-navigation-menus/

[编辑] 根据您的评论...

如果不知道您要做什么的细节,我会说,如果您有需要根据某人点击某物的具体情况附加的代码块,并且您确定这些代码块是什么,最简单(虽然不是最优雅)的方法是将这些代码块保存为字符串,然后根据单击按钮将它们附加到期望它们的任何对象的 innerHTML 中。

您可以将块保存为哈希数组,并指定要附加到按钮的 onclick 的元素的值。

更优雅的方法是在您的 xml 中创建实际节点并将它们的显示设置为“无”,这样它们就不会出现在页面上。然后使用 cloneNode 复制它们并将它们附加到它们所属的任何位置。

同样,如果没有具体问题,很难为您提供具体信息,但一般来说,这是解决问题的两种方法。

【讨论】:

  • 我指的不是扩展菜单。我的意思是,一旦选择了一个项目,我希望将更多选项附加到文档中,例如文本框、其他下拉菜单。但是对于选择的每个菜单项,此面板需要有所不同。我也不允许使用 jQuery,这是项目的要求。
  • 啊!好吧... +1 表示不使用 jQuery :) 我会更改我的答案,为您提供有关处理此问题的正确方法的提示
  • 我正在尝试了解您的两种方法。我对网络设计真的很陌生,很难理解!对于您的第一种方法,您的意思是我可以为要与每个菜单项关联的每个面板制作单独的 HTML 文件,然后按照您的建议在数组中引用它们吗?你的第二种方法让我有点困惑。您的意思是创建自定义标记,例如每个面板的 id 和对每个 html 文件的引用,并根据选择的菜单项附加它们吗?
  • neeta,我很抱歉,但如果我说的太高级了,那么你真的需要学习一些基本的 javascript 技术。简单来说,如果你有一个 id 为 divA 的 div,你可以随时说 document.getElementById('divA').innerHTML = "foo";您可以将任何有效的 HTML 设置为值,它将立即生效。因此,如果您有一组这样的 html 剪辑(不是单独的文件,只是一个字符串数组),您可以随时将任何 div 的 innerHTML 设置为这些字符串之一。将此功能附加到可点击项目是基本的。
  • 啊,是的,我现在开始理解你了,尤其是在阅读了这篇文章之后:w3schools.com/htmldom/dom_using.asp,我已经有了一些工作。我想我现在会继续这样做,因为我发现很难理解 XML 选项。只是想问一下,是否可以使用 PHP 而不是 JavaScript 来实现此功能?如果是这样,哪个更容易/更好的练习?
猜你喜欢
  • 1970-01-01
  • 2020-05-14
  • 1970-01-01
  • 1970-01-01
  • 2018-04-01
  • 1970-01-01
  • 2012-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多