2013-04-25 45 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