0

我有以下html代码:

    <input type="text" size="30" id="county" class="auto_input" autocomplete="off" />
    <div id="l_county" class="autocomplete"></div>

与 jQuery 一起从 API 获取数据(它是地址自动完成表单) 当您在文本字段中写入内容时,会在文本字段下方弹出县/街道/城市/邮政编码列表(取决于文本字段),看起来是 html像这样:

    <div id="l_county" class="autocomplete" style="display: block;">
    <label id="s_county" class="suggestion">
    Värmland
    </label>
    <label id="s_county" class="suggestion">
    Västerbotten
    </label>
    </div>

我无法让 jQuery 在标签上触发点击事件。我试过了;

    $('.suggestion').on('click', ...
    $('.autocomplete').children().on('click', ...
    $('.autocomplete > label').on('click', ....

还有一些我不记得了。没有任何效果。但

    $('.autocomplete').on('click', ...

效果很好,但这并没有多大帮助,因为我需要来自 s 的数据。我迫切需要帮助,由于另一部分的并发症,我的工作超过了最后期限,而这个荒谬的问题使我无法进步。

编辑: 我发现了问题。对我来说,这是一个荒谬的错过。

    $('body').on('click', '.suggestion', function() {});

这样可行。问题是标签是通过 .append() 动态生成的,这是浪费你的时间。我很抱歉,谢谢你,这确实间接地让我弄清楚了。

4

3 回答 3

0

您可能会尝试在创建元素之前获取元素。利用 :$(document).ready(function(){ $('.suggestion').on('click', ...); $('.autocomplete').children().on('click', ...); $('.autocomplete > label').on('click', ...); });

于 2013-01-29T13:02:38.153 回答
0

试试你的标签的点击事件,如下所示......它会帮助你......

$("[id=s_county]").live('click', function () {
      alert(this.innerHTML);
  });

小提琴链接:http: //jsfiddle.net/RYh7U/50/

于 2013-01-29T12:04:31.903 回答
0

您可以查看 Ingo 的自动完成 API 并搜索将子项添加到框中的方法。在那里你实现了你的 onClick-Listener。但是我自己也遇到了类似的问题,并且我找到了解决方案。我会寻找它并将其发布在这里;)

于 2013-01-29T11:50:34.600 回答