-2

私の mysql データベースには、ItemDescription と StockNo という 2 つのフィールドがあります。ItemDescription は、ドロップダウン リストに入力します。ドロップダウン リストから値を選択したら、選択した ItemDescription に対応する StockNo をテキスト フィールドに入力したいと思います。表示するコードはありません (挿入したフォーム コントロールを除いて)。これは AJAX を介して可能であると聞いたことがありますが、チュートリアルを見つけることができませんでした。前もって感謝します!

また、問題があれば Adob​​e Dreamweaver CS5 を使用しています

4

2 に答える 2

0

select のoptionsvalueの属性に数値を配置します。

<select id="dropdown">
    <option value="">Select an option …&lt;/option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>

値を表示する入力を追加します。

<input type="text" id="value" />​

そして、JavaScriptを使用して動作させます:

window.onload = function() {
    document.getElementById("dropdown").onchange = function() {
        document.getElementById("value").value = this.options[this.selectedIndex].value;
    }
}

例 (フィドル): http://jsfiddle.net/jhogervorst/nYADy/

于 2012-05-05T17:11:40.083 に答える
0

簡単な基本的な解決策は次のようになります....

<html>
<body>
Item Description <select id="ItemDescription" onchange="populate()">
<option value="Item1">Item1</option>`</select>
<br/>
Stock No <input type="text" id="StockNo" value=""/>
</body>
</html>

JS部分……

var xmlHttp;

function createXmlHttpRequest() {

     if(window.ActiveXObject)   {
         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
     }
     else if(window.XMLHttpRequest){
         xmlHttp = new XMLHttpRequest();      
     }
}

function populate() {

    createXmlHttpRequest(); 
var param = document.getElementById('ItemDescription').value;
    xmlHttp.open("GET", "http://localhost:9444/populate?itemdesc="+param, true);
    xmlHttp.onreadystatechange=handleStateChange;
    xmlHttp.send(null);    
 }


 function handleStateChange() {  

   if(xmlHttp.readyState==4) {   
       if(xmlHttp.status==200){         
         var stockNo = xmlHttp.responseText                       
         document.getElementById('StockNo').value = stockNo;                                              
    }
    else
        alert("Error Loading Page" + xmlHttp.status + xmlHttp.statusText);  
    }
 } 

}

于 2012-05-05T17:23:37.453 に答える