0

我正在使用与此类似的东西:

$("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 元素上,只是加载它,就像它都保存在同一个元素上一样。有人知道为什么会发生这种情况吗?我以前使用过同样的技术,它被证明是有效的,但现在我不知道为什么会这样。我确认它不会将其保存到多个输入字段中,但是在加载时它的行为就像它一样。

4

2 回答 2

2

更新
在这里 添加了一个小提琴

$("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 */})
}
于 2012-07-30T09:49:50.077 回答
0

http://api.jquery.com/jQuery.each/ - 至于文档,您将获得作为第二个参数的值。如果你想为一个元素设置数据,你应该使用它。

于 2012-07-30T09:54:08.587 回答