从td获取数据字段:第一行

时间:2013-10-01 19:07:08

标签: javascript php jquery html mysql

我有一个直接从数据库中使用php绘图创建的表。每个td都是可编辑的,当在其他位置单击鼠标时,新数据将发送到数据库并通过.ajax()动态更新。一切都完美无瑕。它通过每个data-fields的{​​{1}}执行此操作。它们与数据库中的字段名称相对应,因此查询具有正确的WHERE子句。

现在,我有一个ADD按钮,可以创建一个也可编辑的新数据行,并且可以以相同的方式进行编辑和保存。目前我可以添加一行。我正在尝试从td的第一行创建data-fields的数组,以便我可以在创建循环期间将这些数组添加到新创建的td中。我只能得到第一个和/或第二个td的{​​{1}},而不是我想要的整行。考虑到我的代码,我可以这样做吗?是否可以使用我的配置?感谢。

data-field

用于表创建的PHP代码:

td

2 个答案:

答案 0 :(得分:1)

好的,那里有很多代码(我不是PHP用户,所以我不得不尽力测试一些示例HTML:D),所以这就是我认为会给你的过去你遇到data-field值的问题,但我会停在那里:

<script type="text/javascript">  
    $(document).ready(function() {  
        /* Add a new table row to the bottom of the table */  
        $(".add").click(function() {
            var fieldArray = [];

            var $table = $("#table");
            var $lastRow = $table.find("tr:last");
            var $dataFields = $lastRow.find("td");

            $dataFields.each(function() {
                fieldArray.push($(this).attr("data-field"));
            });

            . . . .

这应该会为您提供fieldArray值,并使用data-fieldtdrow元素中的table个值填充th值。

几个旁注:

  • 再次,我的PHP不是很好,但看起来你不是在表格的一行内创建tr值。 。 。它们确实应该包含在$dataFields元素
  • 你可以在一行代码中获得{{1}}值(实际上是几种方式),但是将它分成三行,就像我一样,实际上更快(并且更容易阅读,在我的意见:))。

答案 1 :(得分:0)

  1. 如果您通过jQuery函数.data()设置数据属性,则这些属性是隐藏属性,无法从$('。item [data -...]')中找到。
  2. 如果您需要将字符串或数字设置为数据属性,请使用.attr('data-NAME', value)函数
  3. 进行设置
  4. 您可以找到所有元素而不搜索数据属性,然后使用函数jQuery.map()
  5. 过滤元素