jQuery.数据集's或获取's的项目不对

jQuery.Data set's or get's wrong item

本文关键字:项目 获取 数据集 jQuery      更新时间:2024-04-19

我正在使用类似的东西:

$("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/-对于文档,您将获得值作为第二个参数。如果您想要为元素设置数据,则应该使用此选项。