Ajax / JQuery id引用多个表行

时间:2011-03-24 06:47:19

标签: mysql ajax jquery

将特定ID分配给从表中选择的各种项目时出现问题,以便用户可以单击该项目从而执行某些Ajax / Jquery等。

/** this code had been cut, '$row' is required **/
while($row = mysql_fetch_array($sql)){  
    echo "<tr><td>
          <a id='event_add' title='Add Event' href='javascript:void(0)'>
          <img border='0' src='add_button.gif' width='25' height='25'/></a>
    </td></tr>";
}

是否可以像这样使用以下内容轻松引用id?

    $('#event_add').click(function(){
    var row = ($(this).parent().parent().children().index($(this).parent()))-1;
    $.ajax({
        type: "GET",
        url: "add_event.php",
        data: "row="+row+"&do=addEvent",
        cache: false,
        async: false,
        success: function(result){
            alert(result);
        },
        error: function(result){
            alert(result);
        }
    });         
});

对此问题的任何建议将不胜感激! :)

2 个答案:

答案 0 :(得分:2)

为什么不使用

Class id

的瞬间

变化

html

id ='event_add' class ='event_add'

脚本

<强> $( '#event_add') 至 的 $( 'event_add')

答案 1 :(得分:1)

您可以在输出代码中打印行标识符。

/** this code had been cut, '$row' is required **/
while($row = mysql_fetch_array($sql)){  
    echo "<tr><td>
          <a class='event_add' data-rowid='" . $row['id'] . "' title='Add Event' href='javascript:void(0)'>
          <img border='0' src='add_button.gif' width='25' height='25'/></a>
    </td></tr>";
}

然后,在您的函数中,行将被定义为

var row = $(this).attr('data-rowid');

另外,更改函数分配代码也可以使用类选择器。

$(".event_add").click(...)