Php 使用jquery获取同一行中的表元素
我真的很困惑我怎么能做到这一点。选择一个时,我需要获取两个Php 使用jquery获取同一行中的表元素,php,jquery,sql,html-table,Php,Jquery,Sql,Html Table,我真的很困惑我怎么能做到这一点。选择一个时,我需要获取两个的值。例如,下面让我们假设我选择id=每月550美元的td。我需要得到与该价格相对应的年龄和超额。我希望这是有道理的。因此,在选择$550的示例中,我需要jQuery获得年龄(18-24岁)和超额($1000)的值。然后,我将获取这两个值并插入mysql,如下所述。我是否可以用jQuery或PHP实现这一点?我乐于接受各种想法 <table> <tr> <td width="67">&l
的值。例如,下面让我们假设我选择id=每月550美元的td。我需要得到与该价格相对应的年龄和超额。我希望这是有道理的。因此,在选择$550的示例中,我需要jQuery获得年龄(18-24岁)和超额($1000)的值。然后,我将获取这两个值并插入mysql,如下所述。我是否可以用jQuery或PHP实现这一点?我乐于接受各种想法
<table>
<tr>
<td width="67"></td>
<td width="102" id="excess">$1000</td>
<td width="102" id="excess">$2000</td>
</tr>
<tr>
<td width="67" id="age">18-24</td>
<td width="102" id="monthly">$550</td>
<td width="102" id="monthly">$650</td>
</tr>
<tr>
<td width="67" id="age">25-29</td>
<td width="102" id="monthly">$750</td>
<td width="102" id="monthly">$850</td>
</tr>
</table>
您的HTML无效。不能有多个元素具有相同的
id
,id
值(顾名思义)必须是唯一的。如果要对元素进行分类,请使用类
。此答案的其余部分假设那些id
值已更改为class
名称
如果我理解您的意思,您希望使用monthly
类处理对单元格的单击,并获取行中第一个单元格的文本以及列中第一个单元格的文本。使用jQuery(|)很容易做到这一点:
我们通过查找行via,然后查找其第一个单元格via和来查找行中的第一个单元格
我们通过最近的
查找表,然后通过查找
和第一个
获取第一行,然后获取单击的单元格的名称,并通过查找具有相同索引的第一行中的单元格,来查找列中的第一个单元格
我认为这会起作用,PHP将简化为:
<?php
$query = mysql_query("UPDATE table SET Monthly = '".$_POST['month']."' WHERE Age = '".$_POST['age']."' AND Excess = '".$_POST['excess']."'")or die(mysql_error());
?>
您的HTML无效。不能有多个元素具有相同的id
,id
值(顾名思义)必须是唯一的。如果您试图对元素进行分类,请使用类
。。。我有一个金发女郎的时刻。这个很好用。。非常感谢你抽出时间来帮忙!
$("td.monthly").click(function() {
var $this = $(this),
firstCellInRow = $this.closest('tr').find('td').first(),
firstCellInColumn = $this.closest('table').find('tr').first().find('td').eq($this.index());
console.log("First cell in row: " + firstCellInRow.text());
console.log("First cell in column: " + firstCellInColumn.text());
});
$('.monthly').bind('click', function()
{
lstrMonth = $(this).html();
lstrAge = $(this).parent().find('td:first').html();
lnIndex = $(this).parent().index($(this));
lstrExcess = $(this).parent('table').find('tr:first td:nth-child('+ (lnIndex + 1) +')');
// do ajax call to a php script which execute the query
$.post('ajax/update.php',
{
age: lstrAge,
excess: lstrExcess,
month: lstrMonth
},
function(data) // success
{
// do whatever you want
});
});
<?php
$query = mysql_query("UPDATE table SET Monthly = '".$_POST['month']."' WHERE Age = '".$_POST['age']."' AND Excess = '".$_POST['excess']."'")or die(mysql_error());
?>