2

我可以看到他们中的许多人提出了相反的问题

我的问题是我如何打包价值观?

var KeyName = "name" or.. $(ControlId).attr("id")
var ValName = $(ControlId).val()

然后在当然序列化之后使用ajax发布该值(如果需要)

var CS_Pckg = Sys.Serialization.JavaScriptSerializer.serialize(DictionaryLike_Package);
ajaxPost(CS_Pckg);

...some ajax function

它像一个数组吗?

4

1 回答 1

2

jQuery 有一个“序列化”方法,可用于 HTML 表单的序列化:http: //api.jquery.com/serialize/

但是,该方法序列化为 GET 字符串;如果您想要一组名称/值对对象,请查看 serializeArray:http ://api.jquery.com/serializeArray/

如果这些都没有产生你想要的输出,你几乎只需要自己进行序列化。您可以使用 jQuery 的 each 方法遍历一组元素,然后您可以从中提取任何您想要的信息。完成后,您拥有一个包含所有数据的 Javascript 对象,您可以使用JSON.stringify(thatObject);.

这是一个简单的例子:

var serializedData = {};
$('#yourForm').children().each(function(i, elem) {
    var $elem = $(elem);
    serializedData[$elem.attr('name')] = $elem.val();
});
alert("You're serialized JSON is: " + JSON.stringify(serializedData));

(前面的选项没有例子,因为它们很简单var serialized = $('#yourForm').children().serialize();。)

于 2012-12-26T21:22:14.577 回答