PHP / JQUERY Selectbox链接

时间:2013-06-28 07:33:45

标签: php jquery drop-down-menu

我有一个脚本,第一个选择框工作正常,应该让第二个选择框进一步填充,尽管由于某种原因从未发生过。

我不知道为什么它没有让第二个选择框正确。我知道查询两个框都工作,因为第一个框工作,但当你选择数字第二个框是空的

有人可以帮助我吗?

的jQuery / CSS

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
   $(document).ready(function() {
      $('.country').change(function() {
         var id = $(this).val();
         var dataString = 'id=' + id;

         $.ajax({
            type: 'post',
            url: 'box2.php',
            data: dataString,
            cache: false,
            success: function(html) {
               $('.city').html(html);
            } 
         });
      });
   });
</script>

<style>
   label {
      font-weight: bold;
      padding: 10px;
   }
</style>

HTML

<label>Klantvraag:</label>
<select name="country" class="country">
   <option selected="selected">Kies uit lijst</option>
<?php 
   include 'config/instellingen.php';

   $query = 'SELECT DISTINCT Klantvraag FROM `DWA` WHERE `Status DWA` = \'DBAA\' AND `Kenmerk` <> \'\'';

   if ($result = mysqli_query($connect, $query)) {
      while ($get = mysqli_fetch_assoc($result)) {
         echo '<option value="' . $get['Klantvraag'] . '">' . $get['Klantvraag'] . '</option>';
      }
   }
?>
</select> <br/><br/>
<label>Contract nr.:</label>
<select name="city" class="city">
   <option selected="selected">Kies uit lijst</option>
</select>

PHP

<?php
   if ($_POST['id']) {
      $id = $_POST['id'];

      include 'config/instellingen.php';

      $query = 'SELECT `Contract nr.` FROM `DWA` WHERE `Klantvraag` = \'1258819\'';

      if ($result = mysqli_query($connect, $query)) {
         while ($get = mysqli_fetch_assoc($result)) {
            echo '<option value="' . $get['Contract nr.'] . '">' . $get['Contract nr.'] . '</option>';
         }
      }
   }
// ^ missing bracket right here
?>

3 个答案:

答案 0 :(得分:0)

您的选择器使用的是类名country,它只与您的第一个选择框匹配。

$(".country").change(function()

请调整选择器或班级名称,或为第二个选择框放置不同的选择器。

答案 1 :(得分:0)

我的猜测是您的查询不是动态的,因为您的查询始终会搜索该特定ID

$id= $_POST['id'];
include("config/instellingen.php");
$query = "SELECT `Contract nr.` FROM `DWA` WHERE `Klantvraag` = '1258819'";
                                                          //----^^^^^^^^--here..

我认为应该是

$id= $_POST['id'];
include("config/instellingen.php");
$query = "SELECT `Contract nr.` FROM `DWA` WHERE `Klantvraag` = '".$id."'";

答案 2 :(得分:0)

您的上一个if结构缺少其结束括号}