页面上隐藏锚点的自动填充列表

时间:2010-10-29 13:42:29

标签: javascript jquery autocomplete tags

我需要将300或更少的字符串从页面上的标签锚传递到jquery的:

var availableTags = [
"my tag",
"my tag1"
];

标记表

如果标签数量为300(或更少),服务器只给出一个特定格式的标签列表。每个锚都放在div中。该div有一个静态类“tagItem”:

<div class="tagItem">
 <a href="/search/my some first tag/" rel="nofollow" class="eTag eTagGr123">
  my tag
 </a>
</div>
<div class="tagItem">
 <a href="/search/my some first tag/" rel="nofollow" class="eTag eTagGr435">
  my tag1
 </a>
</div>

需要做的是获取锚字符串(我的某个标记)并将其动态放入可用标记中。

有可能吗?如果是这样,它怎么能正确完成。 注意:由于限制,我无法更改taglist输出格式。

1 个答案:

答案 0 :(得分:1)

经过一些测试,这是一个完整的例子:

<html>
  <head>
    <script src="jquery-1.4.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
$(document).ready(function() {
    var availableTags = [];
    $('div.tagItem a').each(function() {
        var text = $(this).text();
        availableTags.push(text);
    });

    // at this point, availableTags is:
    // ['Tag One', 'Another Tag', 'Tag Three', 'Last Tag']

    $('#tags').autocomplete({
        source: availableTags
    });
});
    </script>
  </head>
  <body>

    <div class="tagItem"><a href="/search/tag one">Tag One</a></div>
    <div class="tagItem"><a href="/search/tag two/">Another Tag</a></div>
    <div class="tagItem"><a href="/search/tag three/">Tag Three</a></div>
    <div class="tagItem"><a href="/search/tag four/">Last Tag</a></div>

  </body>
</html>