2016-04-22 22 views
0

この問題の解決にはヘルプが必要です。 私は動的にドロップダウンを行いたいのですが、あるドロップダウンから "A"までの値を選択すると、別のドロップダウンが "B"に設定されます。ドロップダウンが自動的に値を選択しました

私はこのように動的にドロップダウンするためのjavascript関数を持っています。

<script type="text/javascript"> 
function coba(){ 
     document.getElementById("add").innerHTML += 
    " <inputclass='department_name' type='text' 
    size='50' />"; 
    } 
</script> 
+0

あなたが投稿したもののドロップダウンへの参照がないので、あなたはコードが不足しているはずです。 – Goose

+0

あなたはあなたのすべての関連コードを投稿できます – webGautam

+0

私はまだドロップダウンの機能を作っていません。しかし、それは私の力学的な機能の例です –

答えて

0

REFERENCE:how to dynamically change item of two related combobox

要するに:

  1. file1.phpでは、MySQLのtbl1を取得し、コンボボックスに表示します。コンボボックスの変化に
  2. 、オプションの値を取得し、AJAXを介してそれをPHPファイルfile2.phpを通過しfile2.phpによって生成されるfile1.phpに出力を表示します。
  3. file2.phpには、IdをAjaxに渡してmysql tbl2を取得し、コンボボックスBを生成します。

例:

のindex.php

<script type="text/javascript"> 
function GetXmlHttpObject() 
{ 
    if (window.XMLHttpRequest) 
    { 
     return new XMLHttpRequest(); 
    } 
    if (window.ActiveXObject) 
    { 
     return new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    return null; 
} 

function ajax_function(url, postData, id) 
{ 
    xmlhttp=GetXmlHttpObject(); 
    xmlhttp.open("POST", url, true); 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.setRequestHeader("Content-length", postData.length); 
    xmlhttp.setRequestHeader("Connection", "close"); 
    xmlhttp.onreadystatechange=function() 
    { 
     if(xmlhttp.readyState==4) 
     { 
      document.getElementById(id).innerHTML=xmlhttp.responseText;        
     }  
    }     
     xmlhttp.send(postData); 
} 

function dispSecond(Id) 
{ 
    var params = 'Id=' + Id ; 
    var DivId = 'dispDiv'; 
    ajax_function('ajax_display.php', params, DivId); 
} 

</script> 

<?php 
/* Mysqli query to retrieve and store in $ArrayList(Id=>Text) 
    Example: $ArrayList = array(1=>'Ford',2=>'Chevy'); 
*/ 
?> 

<select id="drop_first" name="drop_first" onchange="return dispSecond(this.value);"> 
<option value="0">[Select]</option> 
<?php 
foreach ($ArrayList as $k=>$v) 
{ 
echo '<option value="'.$k.'">'.$v.'</option>'; 
} 
?> 
</select> 

<div id="dispDiv"></div> 

ajax_display.php

<?php 
$Id  = isset($_REQUEST['Id']) ? $_REQUEST['Id'] : ''; 
if ($Id) 
{ 
/* Mysqli query to retrieve and store in $SubArray where $Id 
    Example: 
    If $Id=1 
    $SubArray = array(1=>'Focus',2=>'Explorer'); 
    If $Id=2 
    $SubArray = array(1=>'Cavalier',2=>'Impala', 3=>'Malibu'); 
*/ 
?> 
    <select id="drop_second" name="drop_second"> 
    <option value="0">[Select]</option> 
    <?php 
    foreach ($SubArray as $k=>$v) 
    { 
    echo '<option value="'.$k.'">'.$v.'</option>'; 
    } 
    ?> 
    </select> 
<?php 
} 
?> 

注:

使用のMysqliまたはPDOの代わりにデモとダウンロード下

をのmysqlを配列に基づいており、あなたはmysqliの検索を使用して実装することができます。

また、より簡単な$ .ajaxを試すこともできます。

DEMO | DOWNLOAD

+0

しかし、私はデータベースを使用する必要はありません。私はちょうどAとBのオプションである2つのオプションを使用します。そして、もし私がAを選択すると、他のドロップダウンが選択されますB –

+0

あなたは配列を使用していますか? –

関連する問題