7

我已经实现了这段代码,我喜欢它的直接性,因为我计划将 ALOT 添加到源 - 但是对于我的生活,我无法弄清楚如何将选定的添加为链接。

EG > Begin Typing > Autofill works > Select > Go to that URL

当前代码:

<!DOCTYPE html>
<html>
<head>
  <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

  <script>
  $(document).ready(function() {
    $("input#autocomplete").autocomplete({
    source: ["NYC", "LA", "Philly", "Chitown", "DC", "SF", "Peru"]
});
  });
  </script>
</head>
<body style="font-size:62.5%;">

<input id="autocomplete" />

</body>
</html>

我在这里找到了一些关于此的讨论,但没有任何代码建议有效。如何添加与上述值关联的 URL;如果我能保持相同的语法并接近刚刚添加的值,我会很高兴;例如:“秘鲁”www.peru.com

4

1 回答 1

18

您可以为源数组中的每个对象添加一个url属性,然后window.location在用户选择一个项目时设置为该 URL:

$(document).ready(function() {
    $("input#autocomplete").autocomplete({
        source: [
             { value: "NYC", url: 'http://www.nyc.com' }, 
             { value: "LA", url: 'http://www.la.com' },
             { value: "Philly", url: 'http://www.philly.com' },
             { value: "Chitown", url: 'http://www.chitown.com' },
             { value: "DC", url: 'http://www.washingtondc.com' },
             { value: "SF", url: 'http://www.sanfran.com' },
             { value: "Peru", url: 'http://www.peru.com' }
        ],
        select: function (event, ui) {
            window.location = ui.item.url;
        }
    });
});
于 2012-06-25T23:28:44.923 回答