使用ajax发布值以自动完成功能

时间:2014-02-19 04:15:52

标签: php jquery ajax

我这里有一个下拉选择和自动完成功能。我需要做的是将选定的下拉值传递给autocomplete.php以在我的查询中使用。文本框值应取决于下拉列表中的值。如果选定的值是耗材,则所有耗材仅在文本框中值(如铅笔或圆珠笔)。

我在Dynamic Dropdown中使用了这个Ajax。我如何使用它来传递autocomplete.php中的值?

注意:此自动填充功能未连接此Ajax。如何使用此ajax将值传递给我的autocomplete.php查询。

<script type="text/javascript">
$('#main').change(function(){
$.ajax({
url : 'getajax.php',
data :{mainlist_id : $(this).val()},
dataType:'html',
type:'POST',
success:function(data){
$('#sub').html(data);
}
});
});
</script>

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";
        }
    }
?>

2 个答案:

答案 0 :(得分:0)

$('#sub').html(data);应为$('#tag').html(data);

答案 1 :(得分:0)

在放置此

时,您的#sub代码中尚未定义html元素
$('#sub').html(data);

之后,当您使用getajax.php时,您的页面名称必须相同,而不是您定义了我们