2014-02-19 109 views
0

如何將下拉選定值的值發佈到其他頁面。我將使用這個值來添加我的自動完成查詢。我一直堅持這個問題-_-。如何使用ajax將值發佈到另一個頁面?

id | cat_code | item_code| item | category | 
1 | ACR-01 | A00001 | pencil | supplies | 
2 | ACR-01 | A00001 | ballpen | supplies | 
3 | ACR-03 | C00001 | Stapler |It equipment | 

當我選擇耗材,下拉是ACR-01的值是什麼,我需要在autocomplete.php張貼,所以我可以添加$main = $mysqli->real_escape_string($_POST["mainlist_id"]);這where子句查詢AND cat_code='$main'讓僅供內部產品隨附自動完成功能。

Ajax.php

<script type="text/javascript" src="jquery.autocomplete.js"></script> 
<script> 
$(document).ready(function(){ 
    $("#tag").autocomplete("autocomplete.php", { 
     selectFirst: true 
    }); 
}); 
</script> 

Drop1

<?php 
$combo = $mysqli->query("SELECT * FROM category GROUP BY cat_code ORDER BY id"); 
$option = ''; 
while($row = $combo->fetch_assoc()) 
{ 
    $option .= '<option value = "'.$row['cat_code'].'">'.$row['category'].'</option>'; 
} 
?> 

<select id="main" name="main"> 
<option value="" disabled="disabled" selected="selected">Choose</option> 
<?php echo $option; ?> 
</select> 
Auto Complete <input id="tag" type="text"> 

Autocomplete.php

<?php 
    $mysqli = new mysqli("localhost", "root", "", "2015") or die("Database Error"); 
    $auto = $mysqli->real_escape_string($_GET["q"]); 
    $sql = $mysqli->query("SELECT * FROM code WHERE item LIKE '%$auto%' GROUP BY id ORDER BY item"); 

    if($sql) 
    { 
     while($row=mysqli_fetch_array($sql)) 
     { 
      echo $row['item']."\n"; 
     } 
    } 
?> 

我想是這樣的,但它不工作。我需要的是當我選擇值應發佈到自動完成添加我的查詢,所以我可以得到所有正確的項目取決於下拉值。

$('#main').change(function(){ 
    $.ajax({ 
     url: 'autocomplete.php', 
     data: {mainlist_id : $(this).val()}, 
     dataType: 'html', 
     type: 'POST', 
     success: function(data) { 
      $('#tag').html(data); 
     } 
    }); 
}); 
+0

可以在'通過自動完成發送自定義數據源'選項 –

+0

是否通過您的ajax請求獲取任何錯誤?檢查螢火蟲或在開發者的工具欄 –

+0

@ Nouphal.M如何使用該源選項?對不起,我是ajax中的begginer :( – user3318208

回答

0

您可以通過source選項指定自定義源。發送源選擇一個Ajax請求,這樣就可以通過請求傳遞額外的數據,下面我發送可以通過$_GET['customdata']訪問的附加鍵customdata

$("#tag").autocomplete({ 
     source: function(request,response){ 
     $.ajax({ 
        type: 'GET', 
        url: 'autocomplete.php?q='+request.term+'&customdata=Hello', 
        dataType: "json", 
        success: function (data) { 
        response(data); 
        } 
       }); 


    } 
}); 
+0

$ _GET ['customdata']? – user3318208

+0

你可以指定任意你喜歡它的只是一個GET變量,我剛剛給它例如$ _GET ['customdata']的值是你好,你可以指定任何你想要的鍵值對 –

+0

你可以得到選擇框選項選擇值'$(「#main option:selected」).val();' –

相關問題