加载 Iframe src,并从水平下拉菜单中进行选择
Loading an Iframe src with selection from horizontal drop down menu
我是这个网站的新成员...已经使用了很长时间,但从未成为会员,但我无法找到答案,所以我想我应该问一下。
我是使用jquery和html选择器的新手,所以如果这是一个简单的问题,请原谅我,但是..我正在使用HTML5,css和jquery。 我创建了一个三级深的水平下拉菜单。 我想根据用户的选择选择要加载到 iframe 中的 html 页面(每个页面代表一个报告)。 当我选择一个内部 il 选择时,我得到了它的 id,但随后它继续循环遍历li
并ul
直到它在父li
结束。
==>这是 UL> IL> IL 树:
<li id="" onclick="processRequest(id)">
<a href="#">link 4</a>
<ul class="sub1">
<li id="sublink41" onclick="processRequest('sublink41.html')"> <a href="#">-link 4.1</a></li>
<li id="sublink42" onclick="processRequest(id)"> <a href="#">-link 4.2</a></li>
<li id="sublink43">
<a href="#">-link 4.3</a><span class="rarrow">▶</span>
<ul class="sub2">
<li id="sublink431" onclick="processRequest(id)"><a href="#">-- link 4.3.1</a></li>
<li id="sublink432" onclick="processRequest(id)"> <a href="#">-- link 4.3.2</a></li>
==> 这是 jQuery 函数:
function processRequest(value) {
var selectedValue = value;
console.log('selected values is: '+selectedValue);
$('#frameIt').replaceWith('<iframe id="frameIt" src= "' + selectedValue + '">')
}
我想使用 ID 来识别要加载到 iframe 中的正确 html 文件,但这是我通过 chrome 工具检查它时看到的......
default.aspx:71 selected values is: sublink41.html
default.aspx:71 selected values is:
如您所见,它找到了正确的值,但随后它继续到父 LI 并在那里结束......我已经花了一些时间试图找到解决这个问题的方法,但一直无法......任何帮助不胜感激。
尝试将onclick
移动到<a>
标签,而不是<li>
标签。 就像你的代码现在一样,点击会冒泡 DOM,并可能多次触发processRequest()
,无意中将id
替换为另一个值,而不是你真正想要的值。
这里的答案也可能对您有用:https://stackoverflow.com/a/1369080/4475757
删除
onclick="processRequest(id)"
从第一行的父 li 标记。
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- AngularJS下拉菜单多选不工作
- Bootstrap下拉菜单中的复选框允许多个复选框而不是一个
- 下拉菜单转换为单选按钮,不再触发特定功能
- 单击单选按钮时不会禁用下拉菜单
- 如何从下拉菜单中读取所选文本
- 如何通过单击唯一按钮保存下拉菜单/复选框菜单选项和占位符值
- 单选按钮表单代码和下拉菜单代码
- Bootstrap下拉菜单-仅复选框不选择文本
- 根据使用angularjs从下拉菜单中选择的选项选择适当的复选框
- jquery下拉菜单修改所选文本,但在后续单击时显示先前所选文本的原始值
- 选择单选按钮或下拉菜单项时自动更新PHP变量
- 根据所选的下拉菜单显示HTML
- 在引导程序多选下拉菜单上创建工具提示
- 下拉菜单 - 与内容共行
- 停用下拉菜单中所选值的“提交”按钮
- 带有复选框的谷歌地图自定义下拉菜单
- 选择下拉菜单所选项目
- php删除带有引导程序下拉菜单的复选框行
- 下拉菜单-单选按钮列表和Javascript方法问题