【问题标题】:How do I use jquery autosuggest to redirect to another url?如何使用 jquery autosuggest 重定向到另一个 url?
【发布时间】:2012-02-25 21:10:08
【问题描述】:

所以我一直在互联网上寻找一个我认为会很常见且简单的解决方案,但似乎我浏览过的所有链接都超出了我的需要,或者它们只是在我需要和想要了解的部分。

我正在开发一个网站,我希望有一个用户可以输入状态的字段,它会自动提示可能的状态,当用户选择一个状态时,它会将页面重定向到另一个 url。所以:如果他们选择“阿拉斯加,AK”,他们会被定向到“http://.../states/alaska”

从我搜索的所有内容来看,jquery UI autosuggest remote source 似乎最接近我的需要。我喜欢我不需要通过数据库,值在“search.php”文件中。

在 search.php 文件中,值插入为:

$q = strtolower($_GET["term"]);
if (!$q) return;
$items = array(
"Great Bittern"=>"Botaurus stellaris",
"Little Grebe"=>"Tachybaptus ruficollis",
"Black-necked Grebe"=>"Podiceps nigricollis",
"Little Bittern"=>"Ixobrychus minutus",
...

我已经测试可以将这里的值更改为:

$q = strtolower($_GET["term"]);
if (!$q) return;
$items = array(
"Alabama, AL"=>"http://.../states/alabama",
"Alaksa, AK"=>"http://.../states/alaska",
"Arizona, AZ"=>"http://.../states/arizona",
...

在 HTML 中的代码是:

$(function() {
        function log( message ) {
            $( "<div/>" ).text( message ).prependTo( "#log" );
            $( "#log" ).scrollTop( 0 );
        }

        $( "#birds" ).autocomplete({
            source: "search.php",
            minLength: 2,
            select: function( event, ui ) {
                log( ui.item ?
                    "Selected: " + ui.item.value + " aka " + ui.item.id :
                    "Nothing selected, input was " + this.value );
            }
        });
    });

我不需要它来显示日志,如何重新格式化它以使页面在被选中或用户点击提交按钮时重定向?

【问题讨论】:

  • 顺便说一句,似乎需要附加很多相关文件才能使其正常工作,所以如果有人有更小的文件,请告诉。

标签: javascript jquery redirect autocomplete autosuggest


【解决方案1】:

您将需要使用其中之一

window.location.href = "new link";

window.location.replace("new link");

可能是这样

select: function( event, ui ) {
                log( ui.item ?
                    window.location.href = ui.item.value :
                    "Nothing selected, input was " + this.value );
            }

【讨论】:

  • 效果很好。谢谢。现在我将它放在一起投入生产,我意识到它需要 9 个链接文件和 41kb 才能使整个东西组合在一起。似乎有点极端。有人有其他选择吗?
  • 如果您有 9 个不同的答案,您可以将它们放入数据库中,然后在您的页面中创建一个 div,您可以在其中根据用户选择加载结果。然而,这需要一些 ajax。
  • 我在看那些类型的脚本。我的问题是他们都只为建议文本和 ID 提取了一个值。我不需要 ID,我需要建议文本和 URL 字段。问题是我根本不知道 MySQL/JSON/AJAX 语法,所以弄清楚如何修改对我来说是不可能的,并且没有脚本的初学者级文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-13
  • 1970-01-01
  • 1970-01-01
  • 2015-03-01
  • 2013-09-08
  • 2020-11-01
  • 2013-08-04
相关资源
最近更新 更多