2011-08-10 30 views
2

我找不出这个语法。如何使用jQuery向序列化表单值添加内容?

这里是我的代码:

$('select[id^="lookup_"]').change(function() { 
    var d = $("#lookupform").serializeArray(); 

      // This is the problem line 
      d.push("field=" + $(this).id); 

    hash = { type: "POST", url: "/map/details", data: d }; 
    $.ajax(hash); 
    return false; 
}); 

我知道问题行是完全错误的。我基本上想让服务器端知道提交来自哪里。谁能帮忙?

回答

1

这应该这样做:

d.push({ field: this.id }); 
1

你非常非常接近。这将工作:

d.push("field=" + this.id); 

或者是与其他数组元素是一致的:

d.push({field: this.id}); 
+0

顺便说一句,你确定要使用[ '.serializeArray()'](http://api.jquery.com/serializeArray)而不是['.serialize()'](http://api.jquery.com/serialize)? –

+0

我绝对应该使用.serialize()来代替,但我不确定如何序列化单个条目,也不知道要使用什么对象。 – AKWF