jquery ui - autocomplete - 输入的几个参数

时间:2011-09-30 13:09:01

标签: jquery autocomplete

我想在街道上搜索自动完成功能。 选择省,市,街。有一个问题是基于所选区域和fetch参数传递给区域内的城市搜索。后来,街道在参数状态和城市的基础上。

有人可以解释改变这些关系的内容。此刻我找到工作,但没有依赖。

文件index.php

    <script type="text/javascript">
    $().ready(function() {
    $("#w1").autocomplete("get_w_list.php", {
    width: 260,
    matchContains: true,
    minChars: 3,
    selectFirst: false

    });
    $("#m1").autocomplete("get_m_list.php", {
    width: 260,
    matchContains: true,
    minChars: 3,
    selectFirst: false

    });
    $("#u1").autocomplete("get_u_list.php?", {
    width: 260,
    matchContains: true,
    minChars: 3,
    selectFirst: false
    });
    });
    </script>
    </head>
    <body>
    <div id="content">
    <form action="" autocomplete="off">
    <p>
    Województwo <label>:</label>
    <input type="text" name="w1" id="w1" />

    </p>
    <p>
    Miasto <label>:</label>
    <input type="text" name="m1" id="m1" />

    </p>
    <p>
    Ulica <label>:</label>
    <input type="text" name="u1" id="u1" />

    </p>
    <input type="submit" value="Submit" />
    </form>
    </div>

文件get_w_list.php

    <?php
    require_once "config.php";
    $q = strtolower($_GET["q"]);
    if (!$q) return;

    $sql = "select DISTINCT woj from lb_mu where woj LIKE '%$q%'";
    mysql_query('SET CHARSET utf8');
    $rsd = mysql_query($sql);
    while($rs = mysql_fetch_array($rsd)) {
    $cname = $rs['woj'];
    echo "$cname\n";
    }
    ?>

file get_m_list.php

<?php
require_once "config.php";
$q = strtolower($_GET["q"]);

if (!$q) return;

$sql = "select DISTINCT miasto from lb_mu where miasto LIKE '%$q%'";
mysql_query('SET CHARSET utf8');
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$mmname = $rs['miasto'];
echo "$mmname\n";
}
?>

请帮我解决这个问题。 THX

1 个答案:

答案 0 :(得分:0)

安德鲁是对的我会使用新版本的插件。从我在你的代码中可以看出,你根据他们正在搜索的内容调用不同的方法。我不确定是否有必要在一个方法中传递所有参数。语法有点粗糙,但希望你能得到这个想法。

var url = "get_list.php?w=" + $('#w1').val() + '&m=" + $('#m1').val();

$("#w1").autocomplete(url, {
    width: 260,
    matchContains: true,
    minChars: 3,
    selectFirst: false
});

<?php
require_once "config.php";
$m = strtolower($_GET["m"]);
$w = strtolower($_GET["w"]);

if m != ""
    $sql = "select DISTINCT woj from lb_mu where woj LIKE '%$q%'"
else if w != ""
    $sql = "select DISTINCT miasto from lb_mu where miasto LIKE '%$q%'"
else 
    return

}
?>