将特定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);
}
});
});
对此问题的任何建议将不胜感激! :)
答案 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(...)