如何获取id打开对话框

时间:2012-04-30 18:01:32

标签: jquery-ui jquery jquery-plugins jquery-selectors

我有以下代码

<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中我需要知道哪个被点击了。

这是我的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;
        });

3 个答案:

答案 0 :(得分:9)

使用id^代替id*id^用于表示以给定文字开头的idid*匹配,如果给定的文字可用在id,甚至最后的任何地方,如id1-dialog_link

$("td a[id^='dialog_link']").click(function(){ 
    var id = $(this).prop('id');
    console.log(id);
});

此处a[id^='dialog_link']将匹配dialog_link-19,但不匹配id1-dialog_link

答案 1 :(得分:4)

您可以像这样获取被点击的ID:

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

    console.log(id);
});

答案 2 :(得分:2)

这应该返回点击链接的编号:

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

Demo

我已使用.replace()功能删除文字