【问题标题】:Access jQuery node's children and its values using PHP to enter into db使用 PHP 访问 jQuery 节点的子节点及其值以进入 db
【发布时间】:2013-08-21 17:25:30
【问题描述】:

谁能帮我解决这个问题。我遇到了真正的麻烦,我不知道该怎么做。

我有一个tr 标签,其中包含多个div 标签。
每当用户单击“添加”链接时,相同的tr 会被克隆并增加一个 id 并附加到表中。

现在,我想使用 php 将每个 tr 下的所有内容输入到 mysql 数据库中。我真的不知道该怎么做。

层次结构是这样的:
tr-->td-->div(many)-->input fields(many) like chkbox,textarea,radio,input

我的项目的截止日期快到了,我真的被困住了。

【问题讨论】:

  • 你试过什么?你的代码是什么样的?听起来像是你想用 AJAX 做的事情。
  • 戴夫,请您至少放一个 html 示例,在帖子或小提琴上没有脚本,以便我们尝试帮助您。
  • 在这里,我删除了它下面的很多 div 部分,而且当我点击添加时,它不会在下面添加克隆的东西。但是,它在我的文件中工作。
  • 有什么方法可以删除顶级<tr>'s 中的表格吗?

标签: php jquery mysql forms dynamic


【解决方案1】:

我看到的最简单的方法是为您的输入字段提供适当的名称。然后,您只需像处理其他任何方式一样处理表单提交。

您可以将输入名称设置为数组来解决这个问题。 例如:

<input type="text" name="fieldname[]" value="" />

然后在 PHP 中的 POST 数据中,$_POST['fieldname'] 将是一个数组。

【讨论】:

  • 就像每个'tr'下会有超过50个输入字段。如果我在克隆“tr”时尝试更改每个人的“id”,那将是一团糟。此外,一些输入字段本身是动态的,即您可以单击旁边的“+”号并添加多个,我再次使用您上面所说的内容。
  • 如果对您有帮助,您可以在动态添加字段名称时将行 ID 合并到字段名称中。
  • 我不是动态添加它们,而是克隆整个 'tr',将其 id 增加 1,然后将其附加到表中。
【解决方案2】:

由于您的问题不包含任何代码,因此我无法确定,但我会首先获取所有 &lt;tr&gt;,然后遍历每个代码并获取该 tr_id 的所有输入值并添加将它们转换为数组或 json 结构。然后您可以将其序列化并通过 Ajax 发送到 PHP 进行保存。

// Initialize an empty array
returnValues = new Array();
$('tr').each(function(index, tr){
    $('input, textarea, checkbox, select', this).each(function(index, input){
        // collect the name and value pairs
        name = input.attr('name');
        value = input.val();
        //now add these into the array.
        returnValues[tr.attr(id)][name][value];
     });
});
// now post the array to php via Ajax 

【讨论】:

  • 嘿 Rob,我没有得到你想要坐的东西。我是 jQeury 的新手,但请您详细解释一下。我试图将我的代码放在 jFiddle 上,但没有得到我想要的。谢谢...
【解决方案3】:

您是否尝试过使用序列化来获取输入字段的值?

您应该能够执行类似 $('tr:selected').serialize() 的操作

如果你有某种 jsfiddle 作为你的问题的例子,那会更容易提供帮助。

【讨论】:

  • 我会在几分钟内创建...谢谢。但是,我不知道如何在 php 中使用这个序列化函数以及如何选择 tr。
  • serialize 是一个 jquery 函数,而不是一个 php 函数。 api.jquery.com/serialize
  • 如何获取输入字段的值?因为在“onLoad 事件”上只会有 1 个 tr,但之后用户可能会添加这么多。那么,如何使用 php 调用 jQuery 序列化函数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-09
  • 1970-01-01
相关资源
最近更新 更多