0

使用 javascript,我如何循环自定义标签并显示结果而无需按下按钮?

我的JavaScript:

function a(){           
    var m=document.getElementsByTagName('myselect');
    for (var i = 0; i<m.length; i++)
         document.getElementById('divid').innerHTML  = m[i].value;                                      
}

我的html:

  <myselect>
     <option> a </option>
     <option> b </option>
     <option> c </option>
   </myselect>

现在,我无法获取自定义标签,也无法显示信息,除非我定义<select>标签而不是自定义标签。即便如此,我必须按下输入按钮,加上我的 javascript 不会循环遍历所有元素,而是循环当前选定的元素。

PS我使用myselect的原因是因为我不想在我的html上显示下拉菜单。有没有其他方法可以获取信息?

4

2 回答 2

1

正如我评论的那样,您不应该使用自定义标签,因为结果将不再是有效的 HTML。

其次,您使用m[i].value而不是m.options[i].value似乎给您当前选择的元素。

第三 - 不确定获取信息是什么意思,但似乎您正试图在 HTML 文档中保留一些信息。一种更好的方法是将其存储在 JavaScript 数组中:

var values = ['a', 'b', 'c'];

如果你真的需要你的信息成为 HTML DOM 的一部分并且它需要是一个选择,你可以想出类似的东西

<select style="display: none;"> etc...

那会很奇怪,但没人会看到。

于 2013-02-15T19:37:15.063 回答
0

我会将您的 myselect 标签定义为普通的选择标签,并给它一个像这样的 id:

<select id="myselect">

然后在 body 标签中调用带有 onload 属性的函数:

<body onload="a()">

然后在您的 javascript 中将 getElementByTagName 更改为 getElementById ,如下所示:

ar m=document.getElementsById('myselect');

看看这是否适合你。我没有测试它,但这就是它的要点。我还建议使用 jQuery

于 2013-02-15T19:30:24.120 回答