1

HTMLとjQueryを返すAJAX呼び出しを行っています。

<div id='selected'>Here is my Selection Text 
<a id='trashSelected' href=\"javascript:void(0);\">Remove</a>
</div>
<script>
        $('#trashSelected').live('click',function delete() 
        {

          // remove the container
          $('#selected').remove();

          substractSelectionCount();
          return false;
        });
</script>

jQueryは、ユーザーが「削除」リンクをクリックすると、追加されたコンテナーを削除します。コンテナを削除するジョブを実行しますが、substractSelectionCount();を呼び出します。発生することはありません。この関数の呼び出しを別の方法で行う必要がありますか?
これは、すでにドキュメントに含まれている関数です。FF、IE 8、Safariでテスト済み

4

4 に答える 4

0

関数コールバックに構文エラーがあるようです単語を削除してくださいdelete

    $('#trash{$roleId}').live('click',function(e) {
      e.preventDefault();
      alert('trash clicked');
      // ...
      return false;
    });
于 2009-10-08T22:54:57.517 に答える
0

何かが足りないかもしれませんが、この方法で試してみましたか?

$('#trash{$roleId}').live('click',function delete() 
{

  // remove the container
  substractSelectionCount();
  $('#selected').remove();
  return false;

});
于 2009-10-08T22:47:55.837 に答える
0

この問題の回避策は、ajax 呼び出しからスクリプトを返す代わりに、メイン ファイルでクラスを使用することです。返される応答はすべてこの文字列です

<div id='selected'>Here is my Selection Text 
   <a class='trashSelected' href=\"javascript:void(0);\">Remove</a>
</div>

私のファイルには、このような関数があります


$('.trashSelected').live('click',function(){

$(this).parent().remove(); subtractSelectionCount(); return false;

});

于 2009-10-09T00:45:31.297 に答える
0

あなたcurrentSelectionCountはグローバル変数ですか?たぶん、関数が呼び出されていて、これが原因で機能していませんか?

また、呼び出されていないことを確認するために、関数にアラートを追加しようとしましたか?

function substractSelectionCount(){
 alert("I'm working!");
 currentSelectionCount--;
}

このペーストビンにテスト ファイルをまとめたところ、ID で完全に機能しているように見えましたが、テストのために 3 つの div を追加したため、ID をクラスに置き換える必要がありました。だから、あなたのコードのどこに問題があるのか​​ わかりません.おそらくあなたのsubstractSelectionCount関数はdocument.ready関数の外にありますか?

于 2009-10-09T01:20:42.993 に答える