2011-09-30 52 views
0

我想用自動完成功能來搜索街道。 選擇省,市,街道。有一個問題,基於選定的區域和獲取參數傳遞給一個地區的城市搜索。後來,街道在參數狀態和城市的基礎上。jquery ui - 自動完成 - 幾個輸入參數

有人可以解釋什麼改變這些關係得到維護。此時我找到工作,但沒有依賴關係。

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

文件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

+0

就這麼你知道,這不是jQueryUI的自動完成小部件。它使用該插件的前身(現在已棄用) –

回答

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 

} 
?>