2014-01-18 116 views
0

我有一個動態添加行並向mysql提交數據的代碼。實現這一目標,我使用的JavaScript代碼如下如何在javascript下使用onchange事件

<script src="jquery.min.js"></script>  
<script type="text/javascript"> 
$(function() { 
     var addDiv = $('#addinput'); 
     var i = $('#addinput p').size() + 1; 

     $('#addNew').live('click', function() { 
       $('<p><select id="p_new" name="stockid[]' + i +'" <?php echo $item; ?></select> <select name="desc[]' + i +'" <?php echo $description; ?></select><a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv); 
       i++; 


       return false; 
     }); 

     $('#remNew').live('click', function() { 
       if(i > 2) { 
         $(this).parents('p').remove(); 
         i--; 
       } 
       return false; 
     }); 
}); 

</script> 

其工作正常,但現在我想更新$description我選擇$item

$item$description是從同一個表。

我有作爲我選擇項可簡單地更新描述的碼。 這裏是PHP代碼

<form method="post" action="" name="form1"> 
<table width="60%" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td width="150">Country</td> 
    <td width="150"><select name="stockid[]' + i +'" onChange="getCity('onchange.php?  
    stockid='+this.value)"><?php echo $item; ?></select></td> 


    </tr> 
    <tr style=""> 
    <td>City</td> 
    <td ><div id="citydiv"><select name="desc"><option>Select City</option></select></div></td> 
    </tr> 
    <tr> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    </tr> 
    <tr> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    </tr> 
</table> 

這是JavaScript代碼

<script> 
function getXMLHTTP() { //function to return the xml http object 
     var xmlhttp=false; 
     try{ 
      xmlhttp=new XMLHttpRequest(); 
     } 
     catch(e) {  
      try{    
       xmlhttp= new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      catch(e){ 
       try{ 
       xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
       } 
       catch(e1){ 
        xmlhttp=false; 
       } 
      } 
     } 

     return xmlhttp; 
    } 



    function getCity(strURL) {  

     var req = getXMLHTTP(); 

     if (req) { 

      req.onreadystatechange = function() { 
       if (req.readyState == 4) { 
        // only if "OK" 
        if (req.status == 200) {       
         document.getElementById('citydiv').innerHTML=req.responseText;      
        } else { 
         alert("There was a problem while using XMLHTTP:\n" + req.statusText); 
        } 
       }    
      }   
      req.open("GET", strURL, true); 
      req.send(null); 
     } 

    } 
</script> 

其工作正常,但是當我在第一次使用

<select name="stockid[]' + i +'" onChange="getCity('onchange.php?  
     stockid='+this.value)"><?php echo $item; ?></select> 
上面的代碼

JavaScript文件insted的的

<select id="p_new" name="stockid[]' + i +'" <?php echo $item; ?></select> 

它不工作,請幫我燙到根據項目選擇自動更新描述字段.....

+0

不應該是onchange而是onChange。 –

+0

什麼是你'$ item'變量,確保它包含'用值屬性 – semirturgay

+0

'$項=「」 '標籤的內容; 而($行= mysql_fetch_assoc($的GetItem)) { $項。= '<選項值= 「'。$行[ 'ID'。 '」>'。$行[ 'STOCK_ID']。 「 - 」。$ row ['description']。''; }' 這是我的物品代碼 – user3210029

回答

0

你不能在HTML statment使用變量,我說的[I]變量。這個變量是什麼?

<select id="p_new" name="stockid[]' + i +'" <?php echo $item; ?></select> 
相關問題