2009-05-24 106 views
1

我想从html列表中获取值<li>如何通过Javascript获取html List值?

<ul> 
    <li><a>Main Menu</a> 
     <ul class="leftbutton" > 
      <li value="List1"><a>Sampe 1</a></li> 
      <li value="List2"><a>Sample 2</a></li> 
      <li value="List3"><a>Sample 3</a></li> 
      <li value="List4"><a>Sample 4</a></li> 
      <li value="List5"><a>Sample 5</a></li> 
     </ul> 
    </li> 
</ul> 

<iframe id="iframeid" width="100%" height="100%" align="middle"></iframe> 

function changeList() 
{ 
    var iframe = document.getElementById("iframeid"); 
    var url = document.getElementById("selectedlist").value + ".html"; 
    iframe.src = url; 
} 

我会在哪里把onClick =“changeList()”从列表中获取值?

+0

什么是iframe的? – 2009-05-24 05:39:12

+0

随着点击列表我想要加载一个HTML页面到iframe(而不是打开一个新的HTML页面)。 – user32262 2009-05-24 06:45:10

回答

4

这里有几个错误。

  1. 一个HTML列表项(<li>)不具有价值
  2. 一个HTML列表中有没有 “选择项”
  3. 你无法通过调用getElementById()

得到任何 “选定” 项这是我的替代建议:

<ul> 
    <li><a>Main Menu</a> 
    <ul class="leftbutton" > 
     <li><a href="List1.html" onclick="return changeList(this);">Sample 1</a></li> 
     <li><a href="List2.html" onclick="return changeList(this);">Sample 2</a></li> 
     <li><a href="List3.html" onclick="return changeList(this);">Sample 3</a></li> 
     <li><a href="List4.html" onclick="return changeList(this);">Sample 4</a></li> 
     <li><a href="List5.html" onclick="return changeList(this);">Sample 5</a></li> 
    </ul> 
    </li> 
</ul> 

<iframe id="iframeid" width="100%" height="100%" align="middle"></iframe> 

<script type="text/javascript"> 
function changeList(a) 
{ 
    var iframe = document.getElementById("iframeid"); 
    iframe.src = a.href; 
    return false; 
} 
</script> 

想法:如果JavaScript被停用,它仍然有效(基本上)。该函数返回false,所以当启用JavaScript时,单击链接取消href导航。

请注意,直到HTML 4.01过渡,也可以在没有JavaScript的情况下完成此操作。一个target属性与框架的名字就足够了:

<ul> 
    <li><a>Main Menu</a> 
    <ul class="leftbutton" > 
     <li><a href="List1.html" target="iframename">Sample 1</a></li> 
     <li><a href="List2.html" target="iframename">Sample 2</a></li> 
     <li><a href="List3.html" target="iframename">Sample 3</a></li> 
     <li><a href="List4.html" target="iframename">Sample 4</a></li> 
     <li><a href="List5.html" target="iframename">Sample 5</a></li> 
    </ul> 
    </li> 
</ul> 

<iframe id="iframeid" name="iframename" width="100%" height="100%" align="middle"></iframe> 
0

你会把它放在锚标签上,因为我认为这就是你所点击的。

1

我不是100%肯定内嵌iFrame的,但你可以简单地使用

<li><a href="/path/to/html" target="myIframeId">Value</a></li> 

这不是有效的HTML 4严格而有效与过渡,并不管所有浏览器上运行。

+1

您的目标是框架名称,而不是id(并且iframe不在严格的范围内,所以需要Transitional来使用目标属性并不重要) – Quentin 2009-05-24 08:17:19

1

li有属性值,但该值应为整数,也就是一点:

   <li value="1"><a>Sampe 1</a></li> 
      <li value="2"><a>Sample 2</a></li> 
      <li value="3"><a>Sample 3</a></li> 
      <li value="4"><a>Sample 4</a></li> 
      <li value="5"><a>Sample 5</a></li>