2012-04-30 2 views
6

を開くために取得する方法私は、コードidはダイアログボックス

<td><a href="#" id="dialog_link-19" class="ui-state-default ui-corner-all">Click here</a></td> 
<td><a href="#" id="dialog_link-25" class="ui-state-default ui-corner-all">Click here</a></td> 
<td><a href="#" id="dialog_link-33" class="ui-state-default ui-corner-all">Click here</a></td> 
<td><a href="#" id="dialog_link-556" class="ui-state-default ui-corner-all">Click here</a></td> 

#dialog_link次ている動的に生成されます。

私のjs私はクリックしたことを知る必要があります。

これはあなたがこのliekクリックされた1のIDを取得することができ、私のjs

$('#dialog').dialog({ 
      autoOpen: false, 
      width: 600, 
      buttons: { 
       "Ok": function() { 
        $(this).dialog("close"); 
       }, 
       "Cancel": function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 

     // Dialog Link 
     $('#dialog_link').click(function(){ 
      $('#dialog').dialog('open'); 
      $.ajax({ 
        url: "teams/pp", 
        type: "POST", 
        data: 
        success: function(data){ 

        console.log(data); 

        } 

       }); 

      return false; 
     }); 
+1

を削除する.replace()機能を使用していました。このコードでは、どのボックスがクリックされたかを知る必要がありますか? IDが自動的に生成された場合は、( '#dialog_link')何かをクリックしますか?それはどこにも得られないように思われる – Ryan

答えて

4

です:

$('a[id*=dialog_link]').click(function(){ 
    var id = $(this).attr('id'); 

    console.log(id); 
}); 
9

代わりid*の使用id^idが始まることを示すために使用さid^指定されたテキストがidで利用可能な場合、id1-dialog_link:のように、指定されたテキストとid*が一致しますここでa[id^='dialog_link']

$("td a[id^='dialog_link']").click(function(){ 
    var id = $(this).prop('id'); 
    console.log(id); 
}); 
dialog_link-19なく id1-dialog_link一致します。

+0

これは私のものよりもupvotesを得るのは、小道具の使用のためですか?私は小道具を使用すべきときに人々が誤解していると思います。例えば、selectedIndex、tagName、nodeName、nodeType、ownerDocument、defaultChecked、defaultSelectedは、.prop()メソッドで取得して設定する必要があります。 jQuery 1.6以前は、これらのプロパティは.attr()メソッドで取得できましたが、これはattrのスコープ内にはありませんでした。これらは対応する属性を持たず、プロパティのみです。 – Evan

+0

私たちの答えとセレクタの文字列には別の違いがあると思います。 '$( 'a [id * = dialog_link]')'を使用しました。つまり、idとmine内のどこにでもこの単語 'dialog_link' ( 'a [id^= dialog_link]') 'は、' dialog_link'という単語で始まるidだけを意味します。 –

2

これはリンクの数を返す必要がありますがクリック:

$('a[id*=dialog_link]').click(function() { 
    var id = $(this).attr('id').replace('dialog_link-',''); 
    alert(id); 
}); 

Demo

を私は混乱しているテキスト

関連する問題