没有从动态生成的下拉菜单中获得更新的选定值

Not Getting Updated Selected Value from a Dynamically made DropDown

本文关键字:更新 下拉菜单 动态      更新时间:2023-09-26

我没有从动态制作的城市列表下拉列表中获得价值。我首先在脚本中使用AJAX制作所需的数据杰森,然后将其发送到另一个页面以创建动态下拉列表。在这个城市列表是我的动态下拉菜单,这取决于Provincedown下拉菜单的选择,但问题来了,当我从城市列表下拉菜单中选择任何选项,这是动态构建使用ajax比它的第一个值来作为一个选择,无论你选择了什么选项。任何建议。这是我的省份代码和城市列表下拉列表。

 <input type="hidden" name="City_Name" value="<?= $City_Name; ?>" >
 <input type="hidden" name="Province_Name" value="<?= $ProvinceName ?>" >
 <label>Province: </label><br>
 <select name="Provincedown" id="ProvinceDropDown"  class="form-control" onChange="getState(this.value);">
 <option value="SelectProvince" <?=$ProvinceName == 'SelectProvince' ? ' selected="selected"' : '';?> > Please Select </option>
 <option value="Sindh" <?=$ProvinceName == 'Sindh' ? ' selected="selected"' : '';?>> Sindh </option>
 </select>
 <label>City:</label><br/>
 <select name="City-list" id="City-list" >
 <option value="SelectCity" >Select City</option>
 </select>

使用代码为

的AJAX生成数据jason
 <body onload="getState()"> 
 <script>
 function getState(val) {
 //var cityName = $City_Name;
  var City_Name = $("input[name='City_Name']").val();
 var Province_id = $("input[name='Province_Name']").val();  
 $.ajax({
 type: "POST",
 url: "fetch_state_Edit.php",
 data:{country_id : val, City_Name : City_Name,Province_id : Province_id},
 success: function(data){
    $("#City-list").html(data);
 }
 });
 }
 </script>

fetch_state_Edit.php

 <?php
 if(!empty($_POST["Province_id"])) {
 $country_id =$_POST['country_id'];
 if($country_id=="SelectProvince" || $country_id=="")
 $country_id=$_POST['Province_id'];
 $City_Name=$_POST['City_Name'];
 $results = mysqli_query($con, "SELECT City_Name FROM location WHERE Province = '$country_id' ");
 ?>
 <option value="SelectCity">Select City</option>
 <?php
 foreach($results as $state) {
 ?>
  <option value="<?php $state["City_Name"]; ?>" <?=$state["City_Name"] == $City_Name ? ' selected="selected"' : '';?>><?php echo $state["City_Name"];</option>
<?php
}
}
?>

fetch_state_Edit.php文件中存在问题只需在$state["City_Name"]前添加echo;

     <?php
     if(!empty($_POST["Province_id"])) {
     $country_id =$_POST['country_id'];
     if($country_id=="SelectProvince" || $country_id=="")
     $country_id=$_POST['Province_id'];
     $City_Name=$_POST['City_Name'];
     $results = mysqli_query($con, "SELECT City_Name FROM location WHERE Province = '$country_id' ");
     ?>
     <option value="SelectCity">Select City</option>
     <?php
     foreach($results as $state) {
     ?>
     <option value="<?php echo $state["City_Name"]; ?>" <?=$state["City_Name"] == $City_Name ? ' selected="selected"' : '';?>><?php echo $state["City_Name"];          </option>
    <?php
     }
     }
     ?>