2013-03-11 59 views
0

在我的網頁中,我有一個具有多個fieldset元素的表單。每個fieldset元素都有一個帶有一些選項的選擇標籤,並且根據選擇哪個選項,字段集中的輸入字段被更改。但是,我怎麼知道用戶更改了選擇標籤的選項?如何知道用戶更改了哪個選擇標記選項

<select onChange='selectHandler();'> 
<option value='0'>Option 1</option> 
<option value='1'>Option 2</option> 
<option value='2'>Option 3</option> 
<option value='3'>Option 4</option> 
</select> 

我可以使用的getElementsByTagName(「選擇」)的所有選擇元素,但用戶選擇哪一個元素如何您準確知道?

+0

你已經在示例代碼本身提到了「onChange」,這將幫助你識別。這裏有什麼困難? – AmGates 2013-03-11 13:38:08

+0

在selectHandler()中,我通過document.getElementsByTagName('select');獲取數組。我想知道用戶與用戶交互的數組中的哪個元素,類似於獲取頁面上的所有複選框,然後用複選框[i] .checked找到標記的複選框。 – user1107888 2013-03-11 13:40:27

+0

在選擇處理程序中傳遞'this'關鍵字,如'selectHandler(this)'。你可以得到哪個select元素被訪問。 – AmGates 2013-03-12 06:52:28

回答

0

我希望這能解決你的問題

傳遞「這個」關鍵詞的選擇處理程序,如「每個所選的(本)」。你可以得到哪個select元素被訪問

<select id="handler1" onChange='selectHandler(this);'> 
<option value='0'>Option 1</option> 
<option value='1'>Option 2</option> 
<option value='2'>Option 3</option> 
<option value='3'>Option 4</option> 
</select> 

function selectHandler(obj){ 

    console.log(obj.id) //It gives the id of the current select tag 
} 

不要使用document.getElementsByTagName('select');.這會給你只有一個對象的數組,你不知道哪個選擇標籤被點擊。

相關問題