簡體   English   中英

根據php中的另一個下拉值設置下拉值

[英]Set a drop down value based on another drop down value in php

我有一個下拉菜單,當選擇其中的任何選項時,將填充另一個下拉菜單值。

我需要檢查帶有某些變量的第一個下拉值,並根據該條件根據該條件填充其他下拉值。

我的第一個下拉菜單

    <select id="mySelect" name="name">
      <option>Select any city</option>
      <?php foreach ($data as $c) { ?>
      <option><?php echo ($c[0]['value']); ?></option>
      <?php } ?>
    </select>

我正在使用jQuery獲取上述下拉選擇的值,但我需要在PHP中

jQuery("#mySelect").change(function () {
        ...
    });

對於第二個下拉菜單,

<select>
......
if ($myPhpVar == $data[1][$j][$i]['c_name']){  ?>
    <option><?php echo $data[1][$j][$i]['a_name']; ?></option> 
    <?php }
.... ?>
</select>

這里$myPhpVar應該是第一個下拉選擇值,我需要將它與一些數據進行比較。

如何獲取第一個下拉值並將其設置為$myPhpVar

更新:

使用jQuery托管下拉列表:

jQuery("#mySelect").change(function () {
    var end = this.value;
    var firstDropVal = jQuery('#mySelect').val();
    <?php for($j=0; $j<count($data[1]); $j++ ){ 
        //print_r ($data[1][$j]);
        for($i=0; $i<count($data[1][$j]);$i++){
            if ($myPhpVar == $data[1][$j][$i]['city_name']){  
            echo $data[1][$j][$i]['area_name']; ?>
            jQuery('#dsad').append("<option><?php echo json_encode($data[1][$j][$i]['area_name']); ?></option> ")
            <?php
            }
        }
    } ?>
    console.log(end);
    console.log(firstDropVal);
});

尚未獲得第二個下拉菜單的下拉菜單值。

您必須編寫一個Web服務 創建一個新頁面,當第一個下拉列表發生更改時將被調用 (使用AJAX)。 選定的值傳遞給該頁面,以JSON發送響應(可能是)。 將該響應設置為其他組件。

jQuery("#mySelect").change(function () {
   var val = jQuery(this).val();
   jQuery.ajax({
          url: 'your_new_page.php',
          data: 'dropvalue='+val,
          processData: false,
          type: 'GET',
          dataType:'json',
          success: function(response){
             //load json data from server use it   
          },
          error: function(jqXHR, textStatus, errorThrown) {
                 //there is an error
          }
    });
});

your_new_page.php

if(isset($_GET['dropvalue'])) {
    $myPhpVar = $_GET['dropvalue'];
    //do what you want and return the response
} else {
   //value not submitted, send an error
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM