jQuery SerializeArray / Param获取类名?

时间:2012-01-30 18:49:14

标签: javascript jquery

我有一个带有名称,值和类的实时附加输入类型hiddens的表单,它们都意味着什么。我想采取这个并将我的php发布到json值。所以我在做

var storage = $.param($('form input[type=hidden]').serializeArray(), true);

并且工作正常,但它只获取名称和值。我也需要这个类,因为它有一个存储在其中的唯一ID,我无法存储在名称或值中,因为它们还存储唯一ID。

所以我的问题/选项是。

  1. 我可以以某种方式在名称中存储两个唯一ID,这些ID将被处理吗?可能是{id1:1,id2:2}或其他名称值?
  2. 我可以让serializeArray也获得类名吗?
  3. 隐藏的输入类型示例我添加

    <input type="hidden" class="photo_spot_1" name="photo_spot_5" value="../uploads/2462df38db374653720daa42b7aefec4/g6qjcn30kw_c.png">

    注意名称和类末尾的两个不同的id。

2 个答案:

答案 0 :(得分:1)

您不能拥有{id1:1,id2:2}之类的元素ID,serializeArray也不会从输入字段中获取类信息,但您可以编写自己的逻辑来实现。

var data = [], obj;
$('form input[type=hidden]').each(function(){
    obj = {};
    obj[this.name] = this.value;
    obj["class"] = this.className
    data.push(obj);
});

现在您可以使用data,其中包含每个隐藏的输入,包括名称/值和类信息。

答案 1 :(得分:0)

你最好的选择可能就是把这些独特的课程,并在你序列化表格和发帖之前把它们扔到一个隐藏的输入上。这将使您的服务器端代码更容易访问这些值。

这样的事情:

$("#hiddenInput1").val($("#el1")[0].className);
var storage = $.param($('form input[type=hidden]').serializeArray(), true);