0

このトピックに投稿された多くの質問を見てきましたが、回答/提案のどれも私にとってうまくいかないようでした. 私はJQueryにかなり慣れていないので、いくつかの支援をいただければ幸いです!

リンク付きのテーブルがあります。何らかの理由で、最初のレコードのダイアログ ボックスしか開くことができません (これを複数回行うことができます)。他のレコードでは機能しません。

これが私のコードです:

    $(document).ready(function() { 

         var dlg=$('#ticketDetails').dialog({
            title: 'Ticket Details',
            resizable: true,
            autoOpen:false,
            modal: true,
            hide: 'fade',
            width:850,
            height:700
         });


        $('#view').click(function(e) {

             //testing with static record
             dlg.load('displayRecord.php?id=215', function(){
                 dlg.dialog('open');
             });

          });

    });

テーブル内のすべての行には、次のテーブル リンクがあります。

echo '<td><a href="#" id="view">View</a> </td>';

ダイアログを表示する div:

<div id="ticketDetails"> </div>   

他のレコードでは発火しない機能にもこだわっalert('1');て みました。$('#view').click

4

1 に答える 1

3

テーブルでは、各行に同じ ID「ビュー」があります。id はページ上の単一の要素に対して一意であると想定されているため、これをクラスに変更する必要があります。

<td><a href="#" class="view">View</a></td>

それに応じてスクリプトを変更します。

$('.view').click(function(e) { ... });

イベント ハンドラー内で、イベント変数eを使用して、クリックされた要素をその target プロパティを使用して取得できます。

$('.view').click(function(e) {
  alert( $(e.target).text() );
});
于 2012-12-23T02:02:42.350 に答える