2014-10-28 40 views
0

我有一個動態表單,其中包含選擇下拉菜單,並且我想知道選擇是否已更改,但是無論何時添加新表單並嘗試更改任何選擇的警報是一樣的: 「origen1」如何獲取動態表單中選擇下拉菜單的名稱或ID

這裏是我的js代碼:

<SCRIPT language="javascript"> 
    function addRow(divId) { 
     count = 0; 
     count++; 
     var etiquetas = new Array(); 
     var origenes = new Array(); 
     var parentDiv = document.getElementById(divId); 

     // create a div dynamically 
     var eleDiv = document.createElement("div"); 
     eleDiv.setAttribute("name", "olddiv"); 
     eleDiv.setAttribute("id", "olddiv"); 

     // create a label dynamically 
     var etiqueta = document.createElement("input"); 
     etiqueta.setAttribute("name", 'etiqueta' + count); 
     etiqueta.setAttribute("value", "etiqueta"); 
     etiqueta.setAttribute('disabled', true); 
     etiquetas.push(etiqueta); 

     //create a select dynamically 
     var myarray=new Array(3) 
     myarray[0] = "Opt1" 
     myarray[1] = "Opt2" 
     myarray[2] = "Opt3" 
     var origen = document.createElement("select"); 
     origen.setAttribute("name", 'origen' + count);   
     for (i=0; i<3; i++) 
     { 
      opt = document.createElement('option'); 
      opt.value = i; 
      opt.innerHTML = myarray[i]; 
      origen.appendChild(opt); 
     }   
     origen.onchange = function(){testselect(this);}; 
     origenes.push(origen); 

     // create a delete button dynamically 
     var eleBtn = document.createElement("input"); 
     eleBtn.setAttribute("type", "button"); 
     eleBtn.setAttribute("value", "delete"); 
     eleBtn.setAttribute("name", "button"); 
     eleBtn.setAttribute("id", "button"); 
     eleBtn.setAttribute("onclick", "deleteRow('button')"); 

     // append new div to parent div 
     parentDiv.appendChild(eleDiv); 

     // append textbox & button to new div 
     eleDiv.appendChild(etiqueta); 
     eleDiv.appendChild(origen); 
     eleDiv.appendChild(eleBtn); 
    } 

    function testselect(seleccion) 
    { 
     alert(seleccion.name); 
    } 

    function deleteRow(tableID) { 
      var div = document.getElementById('olddiv'); 
      if (div) { 
       div.parentNode.removeChild(div); 
      } 
    } 

</SCRIPT> 

和HTML:

<form name="objForm" action="test1.php"> 
    <INPUT type="button" value="Add Row" onclick="addRow('dataTable')" /> 
    <div id="dataTable" width="350px"> 

    </div> 
    <input type="submit" value="Submit"/> 
</form> 
+0

爲什麼我會倒下來?能做的人解釋爲什麼不清楚我的問題? – Altrazar 2014-10-28 22:53:20

回答

0

嘗試檢查下拉使用螢火蟲。有了這個功能,您可能可以獲取所選下拉菜單的名稱和ID,但請記住,必須使用螢火蟲選擇所選下拉菜單,才能查看使用的ID或名稱。

由於這是JS並且沒有正確選擇下拉菜單,因此您可能看不到所用的名稱或ID。

所以一定要選好它

+0

呵呵,我做到了,每個選擇生成的名稱都是一樣的,所以我只檢查了變量計數和行「count = 0;」在函數內部,因爲我總是得到名稱「origin1」,我只需將該行放在函數之外,現在它就可以工作。謝謝。 – Altrazar 2014-10-29 15:13:59

相關問題