从水平下拉菜单中选择加载Iframe src

时间:2015-01-25 23:06:47

标签: javascript jquery html iframe

我是这个网站的新成员...已经使用了很长时间但从来没有成员,但我找不到答案,所以我想我应该问。
我是 jquery 和html选择器的新手,所以如果这是一个简单的问题,请原谅我,但是.. 我使用 HTML5 css jquery 。我创建了一个三级深度的水平下拉菜单。我想根据用户的选择选择要加载到iframe的html页面(每个页面代表一个报告)。当我选择内部il选择时,我得到它的id,但是它继续循环遍历liul,直到它在父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">&#9654</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>

==&GT;这是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并在那里结束...... 我已经花了一些时间试图找到解决方案,但未能......任何帮助都表示赞赏。

2 个答案:

答案 0 :(得分:0)

尝试将onclick移至<a>代码,而不是<li>代码。正如您的代码现在一样,点击冒泡DOM并可能多次触发processRequest(),无意中将id替换为您实际想要的值以外的其他值。

这里的答案也可能对您有用:https://stackoverflow.com/a/1369080/4475757

答案 1 :(得分:0)

删除

的onclick =&#34;的processRequest(ID)&#34;

来自第一行的父级li标签。