jquery - 如何使用 jquery-ui-1.8.21.autocomplete 和来自 mysql 的数据填写表单

标签 jquery mysql jquery-ui-autocomplete

我使用 jquery-ui-autocomplete 成功地从我的 mysql 数据库中检索了一个字段,但是我需要从列表中获取用户的选择,从数据库中重新选择并通常用检索到的地址填写多个表单来自数据库。

这是我目前使用的代码,但我不知道如何继续,以获得我需要的结果。场景是这样的——我有一个输入字段,其中填充了从数据库中检索到的邮政编码。然后,用户选择一个邮政编码,从该选择中我需要数据库中的所有地址来填充各个表单。

我的 HTML 文件:

$(document).ready(function() {
                $("#autocomplete").autocomplete({
                    autoFocus: true,
                    source: "search.php",
                    minLength: 2, //search after two characters
                    select: function(event, ui){
                        //do something
                        }
                    });
            });

<body>
    <input id="autocomplete" type="text" name="autocomplete" />
</body>

我的 search.php 文件:

// DB connection is done here

$term = trim(strip_tags($_GET['term']));//retrieve the search term that autocomplete sends

$qstring = "SELECT DISTINCT zipcode FROM table WHERE zipcode LIKE '%".$term."%' ORDER BY zipcode ASC";
$result = mysql_query($qstring); //query the database for entries containing the term

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) //loop through the retrieved values
{
$row['zipcode'] = htmlentities(stripslashes($row['zipcode']));
$row['id'] = (int)$row['id'];
$row_set[] = $row['zipcode']; //build an array
}

echo json_encode($row_set); //format the array into json data

当然,我在查询中使用 DISTINCT 来消除多个相同的邮政编码。

感谢您的帮助! 罗伯特

最佳答案

听起来您想使用 ajax。它将以与执行自动完成搜索相同的方式执行您的搜索。每当进行自动完成选择时,“选择”事件就会运行。如果用户在不使用自动完成的情况下输入完整的邮政编码,我认为它不会触发。 'change' 事件在离开该字段时触发。它不会触发,直到用户离开自动完成字段。

select: function(event, ui){

    $.ajax({
        url: "otherSearch.php",
        type: "POST",
        data: { input1 : input1,
                input2 : input2 },
        success: function(data) {

            //parse returned data and fill in the forms

            });
        }
    }
}

关于 ajax 的更多信息:http://api.jquery.com/jQuery.ajax/

关于jquery - 如何使用 jquery-ui-1.8.21.autocomplete 和来自 mysql 的数据填写表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451866/

相关文章:

ajax - Mvc 自动完成 ajax

jquery - 事件类被添加到 HTML 而不是它的属性

jquery - 淡入和脉冲文本,延迟然后淡出 CSS3 动画?

javascript - 如果 input2 为空,则从 input1 复制值?

jquery - 触发 @mention 自动完成功能,例如 Facebook、Twitter 和 Google+

javascript - 将 Jquery 自动完成的值检索到 Ajax 调用中

javascript - webkit stylewithcss contenteditable 不工作?

mysql - 将多对多转换为一对一(mysql)

MySql InnoDB可重复读取锁的意外行为

PHP:htmlentities 和 htmlspecialchars 不转换某些字符