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 に答える