检查哪一行被更改的好方法(html / jquery / php)

时间:2010-02-24 14:54:36

标签: php jquery html

我有一个用PHP生成的html表。

此列表可以包含超过20000条记录的记录,因此我在此列表中添加了分页。 在此列表中,您可以修改您喜欢的行,当您点击保存时,它会将更改保存在临时表中,并且只有在您点击应用更改后,才会在主表中应用实际更改。在您点击应用更改之前,它会在列表中显示带有指示符的已更改行。

现在这一切都有效,但是目前当你只更改显示的50行中的1行时,它会在临时表中保存50行。这给了我所有50条记录的指标(不是我想要的)。

我的问题是:在将此行保存到临时表之前,知道更改哪一行的好方法是什么?

2 个答案:

答案 0 :(得分:0)

您可以在JavaScript中使用事件委派。您在父级别附加事件侦听器,而不是在单个子级上,然后侦听事件并检查目标。

每个Event对象都有一个target属性。目标是触发事件的对象。

您可以在jQuery文档网站上看到一个很好的示例:http://docs.jquery.com/Events/jQuery.Event#event.target

事件委派对需要事件处理程序的大量数据特别有用。 详细了解事件委派的内容:http://icant.co.uk/sandbox/eventdelegation/

答案 1 :(得分:0)

好的,我找到了解决自己问题的方法。

在jquery的帮助下,我设法实现了我的解决方案。

我在表格中添加了一个隐藏文本字段,其中class =“changed”。

我在每个字段上有4个可编辑字段(2个日期字段和2个复选框)我根据类名对我列表中的所有字段添加了一个jquery click函数(每行有4个不同的类名) )。

jquery示例复选框:

$('input.activated').click(function(){

    $(this).parents('tr').find('input.changed').attr('value', 'changed');

});

所以当我现在点击保存修改 - >我的php代码检查隐藏字段是否等于“已更改”以将更改的行保存在临时表中。

在我看来,这是一个很好的解决方案。