2013-04-25 44 views
0

我有一個具有4個獨立的下拉選項窗體的網頁,並且我有一個javascript函數,當任何窗體通過鼠標更改時被調用。Javascript - 通過鼠標更改事件查找特定窗體

如何確定從事件對象更改哪些特定表單並隨後更改特定選項?

我看到的所有例子都假設我爲每個單獨的表單都有一個專用的javascript函數。但是我希望能夠隨時創建表單,因此我需要通過單個javascript函數傳遞所有表單更改。

在回答這個問題 - 這裏有更多的一些信息:

我使用jQuery的(但我是一個新手) - javascript的事件設置代碼行是:

document.onchange=this.audioselect 

和audioselect功能只是有此刻單線 - 這證明了它被調用用於每個格式轉換警報:

alert("audio Select this: " + evtobj.type.toString().). 

的形式被定義與此類似(與每個隨後的形式名遞增:在期待

<div id="videoSlot" style="position: absolute; left:250px; top:450.0px; background-  color:green;"> 
      <img src="http://localhost:9000/HomeVu1/HomeVu1/skin/HomeVu.jpg" 
           width="210.0" 
           height="140.0" 
              alt="HomeVu1/skin/HomeVu.jpg" 
              title="HomeVu1/skin/HomeVu.jpg"/> 
                 <br /> 
    <strong>Select Image 1 Audio 
    <form name="audio_form_1" > 
     <select name="menu_1" > 
       <br /> 
    <option name = "audio_1" value = "1" >OH Intro </option> 

    <option name = "audio_2" value = "2" >OH Front </option> 

    <option name = "audio_3" value = "3" >OH Plot </option> 

    <option name = "audio_4" value = "4" >OH Hall </option> 
</select> <br /> </form> </div>" 

感謝。

-Mike

+0

你能請張貼一些示例代碼,您是否使用jQuery – markle976 2013-04-25 15:32:38

回答

0

感謝您的輸入 - 我有一些工作。首先,我必須將腳本與另一組鼠標事件函數分開放置,formName也是未定義的,而(奇怪的是)選項selectedOption被正確設置。但是,能夠從'this.name'中獲取表單名稱 - 請參閱以下腳本:

有點混合但是確實有用。

$(document).on("change", "form", function(e){ 

      var currentForm = $(this); 
      var formName = currentForm.attr('name'); 
    var selectedOption = currentForm.find('option:selected').val(); 

    alert(
     "audio Select Form: " + currentForm.name + " Option: " + selectedOption 
      + " this name:" + this.name 
     ) 

}); 
</script>" 

感謝邁克 -

0

也許給每一表格獨特的ID,讓你知道被單擊下拉,並相應地運行專用的JavaScript函數。

+0

JavaScript的事件設置代碼是:document.onchange = this.audioselect和audioselect功能?剛中有警報:警報( \t \t \t // 「音頻選擇這樣的:」 + evtobj.type.toString() \t \t \t 「音頻選擇這樣的:」 + evtobj.id.toString() \t \t \t \t) – mikek 2013-04-25 17:21:45

+0

形式HTMLS是: – mikek 2013-04-25 17:22:14

+0

mikek 2013-04-26 14:39:19