【问题标题】:Post value using ajax to function autocomplete使用 ajax 发布值以实现自动完成功能
【发布时间】:2014-02-19 04:15:51
【问题描述】:

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

我在动态下拉列表中使用了这个 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";
        }
    }
?>

【问题讨论】:

  • ajax url 应该是 "Autocomplete.php" no "getajax.php"
  • @chen 我添加它只是为了表明我使用了 ajax。但我已经尝试过你的建议,但不起作用

标签: php jquery ajax


【解决方案1】:

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

【讨论】:

  • 我已经试过了。但是当我尝试输入文本框时,自动完成不起作用
  • 您尝试从下拉列表中自动完成的文本框?
  • 我的自动完成功能中没有连接上面的 ajax。我需要做的是传递下拉值,以便我可以在查询中使用它。例如,在我的查询中包含这个。 $main = $_POST["mainlist_id"];并将其添加到我的选择查询“cat_code='$main'”
【解决方案2】:

你没有在你的html代码中定义#sub元素,当你放置这个时

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

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

【讨论】:

  • 这是一个例子。它没有在我的自动完成功能中连接。我刚刚发布它是为了询问我是否可以使用它来传递 autocomplete.php 查询中的值
猜你喜欢
  • 2022-08-15
  • 1970-01-01
  • 2015-07-05
  • 2013-01-12
  • 2018-04-23
  • 2017-01-07
  • 1970-01-01
  • 2023-03-06
  • 2012-08-04
相关资源
最近更新 更多