2013-02-15 63 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... 

這將是非常奇怪的,但沒有人會看到它。