2013-02-15 67 views
0

使用javascript,我如何循环自定义标记并显示结果而不必按下按钮?Javascript - 通过自定义标记循环

我的javascript:

​​

我的HTML:

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

现在,我不能让自定义标签,除非我定义<select>标签,而不是我的自定义,我不能显示的信息标签。即使如此,我不得不按下输入按钮加上我的javascript doesnt循环遍历所有元素,但当前选定的元素。

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

+1

你为什么要组成一个HTML标签?使用'select',给它一个''myselect''的id并使用'document.getElementById('myselect');'你想要做什么? – 2013-02-15 19:25:55

+3

_myselect_不是HTML标记,因此您不应该在您的HTML中使用它 – 2013-02-15 19:26:05

+0

@EricLemos我不想在我的html上显示下拉列表。有没有其他方法可以获取这些信息? – 2013-02-15 19:27:57

回答

0

我会定义myselect标签作为一个正常的选择标记,并给它像这样的ID:与onload属性

<select id="myselect"> 

然后在body标签调用该函数:

<body onload="a()"> 

然后在您的JavaScript更改getElementByTagName getElementById像这样:

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

看看是否为你工作。我没有对它进行测试,但这是它的要点。我还建议使用jQuery

+0

我不想在页面上显示下拉菜单 – 2013-02-15 19:34:02

+0

另外我正在使用CMS,我不能仅仅执行'',因为''在大师中定义 – 2013-02-15 19:35:45

+2

对不起,杰夫。如果你不想在页面上显示一个下拉菜单,你是否想要在页面上显示的选项标签中的东西?如果是这样,你可以使用div或span并获取它们的内部html。 – Keeleon 2013-02-15 19:37:04

1

正如我注释,你不应该使用自定义标签,因为结果将不再是一个有效的HTML。

秒你用m[i].value而不是m.options[i].value这似乎给你当前选定的元素。

第三 - 不知道你的意思是得到的信息,但似乎你想保留一些信息在你的HTML文件。这样做的更好的方式是将其存储在一个JavaScript数组:

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

如果你真的需要你的信息是HTML DOM的一部分,它必须是一个选择,你能想出类似

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

这将是非常奇怪的,但没有人会看到它。