我正在使用类似的东西:
$("input").each(function(number,element)
{
var inputField=$(element);
if(inputField.data("FieldLocalizationStrings") == null)
inputField.data("FieldLocalizationStrings", []);
}
添加数据:
var data=inputField.data("FieldLocalizationStrings");
data.push({Language:inputField.attr("language"),Value:inputField.val()});
但当我尝试检索时,它似乎忽略了它保存在哪个DOM元素上,而只是像保存在同一个元素上一样加载它。有人知道为什么会发生这种事吗?我以前也用过同样的技术,事实证明它是有效的,但现在我不明白为什么会发生这种情况。我确认它不会将其保存到多个输入字段,但在加载时,它的行为就像它一样。
更新
在这里添加了一把小提琴
$("input").each(function(number,element)
{
var inputField=$(element);
if(inputField.data("FieldLocalizationStrings") == null)
inputField.data("FieldLocalizationStrings", [
{
Language:inputField.attr("language"),
Value:inputField.val()
}
]);
//If later you want to append to the data
inputField.data("FieldLocalizationStrings").push({/* Your data */})
}
http://api.jquery.com/jQuery.each/-对于文档,您将获得值作为第二个参数。如果您想要为元素设置数据,则应该使用此选项。