【问题标题】:How to redirect to another page with jQuery Autocomplete depending on the id of the selection如何根据选择的 id 使用 jQuery Autocomplete 重定向到另一个页面
【发布时间】:2014-07-10 18:02:08
【问题描述】:

我对这一切都很陌生,但我是来学习的。我确信这不是一个大问题,但我已经尝试了几个小时并找不到解决方案。所以我希望这里有人可以帮助我。

我想要做的是,从我的表(城市名称)中检索并显示一些数据,然后当有人选择一个城市时,它会将他重定向到另一个页面,该页面根据所选的 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。

我知道这很长,但我希望有人能帮助我解决我的问题。如果我没有很好地解释它,请告诉我,我会尽力再做一次。感谢您的宝贵时间。

【问题讨论】:

  • 您能否在将值填充到变量中的位置添加代码.. $row_rsCityCountry 因为它只包含第一行并且您没有遍历整个结果集,这就是自动完成的原因为第一个解决方案显示单行。
  • 我编辑了 ahmed 代码,所以你现在可以看看。希望这就是你的意思。感谢您的宝贵时间。

标签: jquery redirect hyperlink autocomplete


【解决方案1】:

试试下面的代码,它会遍历结果集(注意 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-25
    • 2022-11-15
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2015-03-12
    相关资源
    最近更新 更多