如何使用jQuery Autocomplete重定向到另一个页面,具体取决于选择的ID

时间:2014-06-28 15:42:39

标签: jquery redirect hyperlink autocomplete

我对这一切都是新手,但我要在这里学习。我确定这不是一个大问题,但我已经尝试了几个小时而无法找到解决方案。所以我希望有人可以帮助我。

我想要做的是,从我的桌子(城市名称)中检索并显示一些数据,然后当有人选择一个城市时,它会将他重定向到另一个页面,该页面填充了一些数据,具体取决于所选择的cityid市。

我试图以两种方式解决这个问题。我会发布两个代码,所以如果有人知道答案,我会感激不尽并解释问题是什么。

1)首先尝试:

这是我自动填充的脚本:

<script>
$(function() {
    var availableTags = [
    { label: "<?php echo $row_rsCityCountry['cityName']; ?>,
    <?php echo $row_rsCityCountry['countryName']; ?>",
    data: "questionnaire.php?cityid=<?php echo $row_rsCityCountry['cityid']; ?>" }];

    $( "#rightSearchField" ).autocomplete({
        source: function(request, response) {
            var results = $.ui.autocomplete.filter(availableTags, request.term);
            response(results.slice(0, 10));
        },
        select: function( event, ui ) { 
            window.location.href = ui.item.data;
        }
    });
});
</script>

这里的问题是,我的自动完成功能会从数据库中检索城市和国家/地区名称,但它只显示1行(记录)。我不可能把它变成一个重复区域,因此我不确定如何让它显示全部。此外,重要的是,它确实识别cityid,当我点击记录时,它会转到问卷页面并显示所选记录的ID。所以这部分按预期工作。

2)第二次尝试:

这是我自动填充的脚本:

<script>
$(function() {

    $("#auto").autocomplete({ 
        source: "search.php", 
    select: function( event, ui ) { 
        window.location.href = "questionnaire.php?cityid=<?php echo 
            $row_Recordset1['cityid']; ?>";
        } 
});
});
</script>

第二次尝试的问题是,它现在显示所有记录,但当我点击它们中的任何一个时,它会将我重定向到问卷页面,但它不会识别所点击记录的ID。

我知道这很长,但我希望有人可以帮我解决我的问题。如果我没有解释清楚,请告诉我,我会尽力再做一次。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

尝试以下代码,迭代结果集(注意while循环)。

mysql_select_db($database_MyWorldTaxi, $MyWorldTaxi);
$query_rsCityCountry = "SELECT cityName, countryName, cityid 
FROM city 
ORDER BY cityName";
$rsCityCountry = mysql_query($query_rsCityCountry, $MyWorldTaxi) or die(mysql_error());
// $row_rsCityCountry = mysql_fetch_assoc($rsCityCountry);
$totalRows_rsCityCountry = mysql_num_rows($rsCityCountry);


<script>
$(function() {
    var availableTags = [
        <?php while( $row_rsCityCountry = mysql_fetch_assoc($rsCityCountry) ) : ?>
        { 
            label: "<?php echo $row_rsCityCountry['cityName']; ?>, <?php echo $row_rsCityCountry['countryName']; ?>",
            data: "questionnaire.php?cityid=<?php echo $row_rsCityCountry['cityid']; ?>" 
        },
        <?php endwhile; ?>
        ];

    $( "#rightSearchField" ).autocomplete({
        source: function(request, response) {
            var results = $.ui.autocomplete.filter(availableTags, request.term);
            response(results.slice(0, 10));
        },
        select: function( event, ui ) { 
            window.location.href = ui.item.data;
        }
    });
});
</script>