2014-02-19 37 views
0

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

我在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"; 
     } 
    } 
?> 
+0

阿贾克斯网址应为“自动完成.php“no”getajax.php“ – chen

+0

@chen我补充说明只显示我使用了ajax。但我已经尝试过你的建议,但不起作用 – user3318208

回答

0

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

+0

我已经试过了。但是,当我尝试键入文本框时,自动完成功能不起作用 – user3318208

+0

您尝试从下拉列表中自动完成的文本框? – ElefantPhace

+0

上面的ajax在我的自动完成功能中没有连接。我需要做的是传递下拉值,以便在我的查询中使用它。例如,在我的查询中插入这个。 $ main = $ _POST [“mainlist_id”];并将其添加到我的选择查询“cat_code ='$ main'” – user3318208

0

您还没有定义放置时#sub元素在你的html代码,这

$('#sub').html(data); 

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

+0

这是一个示例。它在我的自动完成功能中没有连接。我只是发布,问我是否可以使用它来传递autocomplete.php查询的值 – user3318208