Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jquery单击tr id不会产生预期结果_Php_Jquery - Fatal编程技术网

Php jquery单击tr id不会产生预期结果

Php jquery单击tr id不会产生预期结果,php,jquery,Php,Jquery,我有一个php数组: $users = array('Bob' => 'User',"Tom Smith'=>'Owner','Jack Mason' =>'User'); 我正在创建这些用户的表: <table align='center' width='100%' name='summary' id='summary'> foreach ($users as $key => $value) { echo "<tr><a hr

我有一个php数组:

 $users = array('Bob' => 'User',"Tom Smith'=>'Owner','Jack Mason' =>'User');
我正在创建这些用户的表:

<table align='center' width='100%' name='summary' id='summary'>

foreach ($users as $key => $value)
{
    echo "<tr><a href='#' id='" . $key . "' class='getDetail'>
                    <th>" . $key . "</th>
                        .....etc
}
我希望警报显示数组的键。$key肯定设置好了,因为我在“th”字段中看到它


当我单击表中的任何一行时,我的警报窗口中会显示“未定义”。我的头撞在墙上,想知道为什么……

将循环更改为有效的HTML,事件处理程序应该可以工作

<table align='center' width='100%' name='summary' id='summary'>

foreach ($users as $key => $value) {
  echo "<tr id='".$key."' class='getDetail'><th>".$key."</th>";
}

foreach($key=>$value的用户){
回显“$key.”;
}
试试:


但是您的HTML是不正确的,我认为您应该在TH标记内放置一个标记。

选项2有效,选项1无效。出于好奇,想知道为什么吗?试试
$(this)。find('a')。prop('id')
,应该是同一件事,而且这似乎是获得它的方法。请注意,锚点不是TR@bart2puck-只是做了个快速测试,在Chrome中,锚被移出表外,因为它试图修复错误,锚位于不应该出现的位置。您不需要锚定就可以使用javascript,您可以单击任何内容。@adeneo请阅读
id
是一个属性,因此不能通过
prop()
返回。在本例中,正确的函数是
attr()
回调中的此
引用了
元素,这非常有意义,因为侦听器连接到该元素。
id
属性otoh在
标记中设置,因此您需要首先找到该元素(
$(this).find(“a”).attr(“id”);
)。
<table align='center' width='100%' name='summary' id='summary'>

foreach ($users as $key => $value) {
  echo "<tr id='".$key."' class='getDetail'><th>".$key."</th>";
}
$('#summary tr a').click(function() {
    alert($(this).attr('id'));
});