0

実際、スクリプトでいくつかの問題が発生しました。実際、クリック イベントで動作するには 2 回のクリックが必要です。スクリプトは次のとおりです。

  $('td#td_new').live('click', function() {
    $.ajax({
    type: 'GET',
    url: 'add_hobby.php',
    data: { hobby: $('#ricerca_interests').val() }, 
     success: function(msg) {                         
        nuovo_hobby="<tr id='hobby' class='checked' selezionato='si'  hobby_id='"+msg+"' ><td id='hobby' width='179px'><div id='nome_hobby'>"+$('#ricerca_interests').val()+'</div></td></tr>';
        $(nuovo_hobby).appendTo("#interessilista");

         $('tr#new_hobby').hide().remove();


        },
    error: function() {alert("Error. Try later.");}
}); 

   });
4

1 に答える 1

0

jQuery 1.7 以降、.live() メソッドは非推奨になりました。イベント ハンドラをアタッチするには、.on() を使用する必要があります。

あなたのコードは、2回目のクリックが必要になるようなものを生成しているようには見えません...しかし、変更してみてください-

$('td#td_new').live('click', function() {

$(document).on('click','#td_new', function() {

次に、firebug を開くかconsole.log('something')success:パーツに a を追加します。また、ajax リクエストが希望どおりに終了し、実行が継続されないことを確認します。

それ以外の場合は、さらにコードが必要です...

楽しんで。

編集

アップロードしたコードに従って何をしようとしているのかを理解しようとしましたが、テストする方法がないため、ここにいくつかの洞察があります。

  1. ソース スクリプト (jquery + UI など) を head セクションに含めます。
  2. jquery.min を削除します... ソース - とにかく完全なスクリプトを含めるため、必要ありません。
  3. jquery 1.9 にアップグレードすることをお勧めします... 1.7.2 を使用しています
  4. 異なる要素に同じ識別子を使用する場合は、それらを宣言しclassないでください。id
  5. add_hobbyクリック イベントを divではなく、クラスとしてdiv にアタッチすることをお勧めしますtd

on() の使用法とページへのコードの追加の小さなデモを次に示します。

jsfiddle デモ

今すぐあなたの正確な問題に私を向けてください.

于 2013-07-21T21:52:52.240 に答える