0

ドロップダウンボックスメニューを1つリンクしたいのですが、1つのメニューを選択すると、選択したメニューに応じてphpを使用してリストが表示されます.if elseを使用しましたが、機能しません

    <?php>
    if(value="tata")
    {
    <option value="vista">vista</option>
    <option value="nano">nano</option>
    <option value="aria">aria</option>
    <option value="manza">manza</option>
    }
    elseif(value="fiat")
    {
    <option value="linea">linea</option>
    <option value="punto">punto</option>
    }
    elseif(value="maruti")
    {
    <option value="swift">swift</option>
    <option value="desire">desire</option>
    <option value="omni">omni</option>
    <option value="maruti 800">maruti 800</option>
    }
    elseif(value="hundai")
    {
    <option value="santro">santro</option>
    <option value="verna">verna</option>
    }
    ?>
4

3 に答える 3

2

PHP を使用して動的リストが必要な場合は、ajax を使用する必要があります。

この例を試してください:

このajaxスクリプトを使用してください


       $(document).ready(function() {
 
$('#dropdown').change( function() {
$('#myform').submit();
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
$('#output').html(response);
}
});
return false;
});
});

    <form id=myform method=POST action="process.php">
    <select id="dropdown" name="dropdown">
    <option value="tata">TATA</option>
    <option value="fiat">FIAT</option>
    <option value="maruti">MARUTI</option>
    <option value="hundai">HUNDAI</option>
    </select>
    </form>
    <div id="output"></div>

process.php

    <?php
    $value = $_POST['dropdown'];
    $html = "<select name = 'cars' id='cars'>";
     if ($value == 'tata') {
$html .= "<option value='vista'>vista</option><option value='nano'>nano</option><option value='aria'>aria</option><option value='manza'>manza</option>";
     } elseif($value == 'fiat') {
$html .= "<option value='linea'>linea</option><option value='punto'>punto</option>";
     } elseif($value == 'maruti') {
        $html .= "<option value='swift'>swift</option><option value='desire'>desire</option><option value='omni'>omni</option><option value='maruti 800'>maruti 800</option>";
     } elseif($value == 'hundai') {
$html .= "<option value='santro'>santro</option><option value='verna'>verna</option>";
     }
     $html .= "</select>";

     echo $html;
     exit;

于 2013-10-16T12:43:53.083 に答える
0

サーバー側の言語である PHP では、最初に選択したドロップダウンの値が使用可能になる前に、ページを更新する (フォームを投稿する) 必要があります。

ページを更新せずにこれを行うには、JavaScript を使用してクライアント側で行う必要があります。リストが PHP 経由で生成されている場合は、AJAX を調べる必要があります。

于 2013-10-16T11:58:11.277 に答える
0

// header.php でこのような配列を作成します

$list = array(
    'tata' => array(
        'vista', 'nano', 'aria'
    ),
    'fiat' => array(
        'linea', 'punto'
    ),
    'maruti' => array(
        'swift', 'desire'
    )
};  

// アクションを実行する car.php ..ここで header.php を呼び出します

<select name="Manuf" id="Manuf" onchange="show_car(this.value)">
    <option value="">/option>
     <?php 
        foreach($list as $x => $x_value)
        {
           echo '<option value="'.$x.'" >'.$x.'</option>';
        }
    ?>

</select>                                           
<select name="car" id="car"></select>

// Ajax 関数 展示車用

function show_car(manuf)
{  
    var xmlhttp;
    if (manuf.length==0)
    { 
        alert("Select manufacturer");
        return;
    }
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("car").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","ajax.php?manuf="+manuf,true);
    xmlhttp.send();
}

// ajax.php のコード ..ここでも header.php を呼び出します

foreach($list as $x => $x_value)
{
if($x == $_GET['manuf'])
  {
    for($i=0; $i<sizeof($x_value);$i++)
     {
         echo '<option value="'.$x_value[$i].'" >'.$x_value[$i].'</option>';    
    }
  }
}
于 2013-10-16T12:14:11.843 に答える