php
  • mysql
  • ajax
  • 2015-11-02 252 views 0 likes 
    0

    在Web窗體中有兩個下拉列表。第二個列表項應根據第一個下拉列表中選定的值動態更改。空查詢結果

    這就是爲什麼我試圖做到這一點:

    的index.php:

    ...

    <script> 
    function getClient(val) { 
    
        $.ajax({ 
        type: "POST", 
        url: "get_contacts.php", 
        data:'client_id='+val, 
        success: function(data){ 
         $("#contacts-list").html(data); 
        } 
        }); 
    } 
    </script> 
    

    ...

    <div class="form-group"> 
         <label for="mto_client" class="col-sm-2 control-label">MTO Client</label> 
         <div class="col-sm-10"> 
        <select name="mto_client" id="clients_list" onChange="getClient(this.value)"> 
        <option value="">Select a Client</option> 
          <?php 
    do { 
    ?> 
          <option value="<?php echo $row_RSClients['id_client']?>" ><?php echo $row_RSClients['client_name']?></option> 
          <?php 
    } while ($row_RSClients = mysql_fetch_assoc($RSClients)); 
    ?> 
          </select> 
         </div> 
         </div> 
    
         <div class="form-group"> 
         <label for="mto_client_contact" class="col-sm-2 control-label">MTO Client Contact</label> 
         <div class="col-sm-10"> 
    
            <select name="state" id="contacts-list"> 
          <option value="">Select Client Contact</option> 
          </select> 
    
    
         </div> 
         </div> 
    

    get_contacts .php

    <?php 
    require_once("dbcontroller.php"); 
    $db_handle = new DBController(); 
    
    if(!empty($_POST["client_id"])) { 
        $query ="SELECT * FROM tb_client_contacts WHERE contact_client_id = '" . $_POST["client_id"] . "'"; 
        $results = $db_handle->runQuery($query); 
    ?> 
        <option value="">Select Client Contact</option> 
    <?php 
        foreach($results as $state) { 
    ?> 
        <option value="<?php echo $state["id_client_contact"]; ?>"><?php echo $state["contact_name"]; ?></option> 
    <?php 
        } 
    } 
    ?> 
    

    表tb_clients_contact上有滿足條件的對象,但第二個下拉列表不顯示任何對象。

    任何幫助,歡迎。

    +1

    首先看看SQL注入。這是一個你有id_client_contact和contact_client_id的錯字嗎? – JRD

    +0

    感謝@JRD,沒有這兩個字段,id_client_contact是來自tb_client_contacts的主索引字段,contact_client_id是來自tb_client_contacts的另一個字段,其中tb_client_contacts存儲來自聯繫人的客戶端。 – mvasco

    +1

    檢查錯誤報告(以及您的查詢)的錯誤並查看您的控制檯。 –

    回答

    1

    而不是

    $("#contacts-list").html(data); 
    

    應該

    $('#contacts-list').empty().append(data); 
    

    empty()將清除第一contacts-list選擇字段中的選項,然後append()將插入您的AJAX的結果的選項。

    您還可以查看控制檯日誌以查找錯誤。如果您使用的是谷歌瀏覽器,請點擊F12以顯示控制檯日誌。

    +0

    謝謝,它工作....很好 – mvasco

    相關問題