javascript在某个地方保存动态对象以供以后通过其他方法重新使用!

时间:2009-12-29 15:04:26

标签: javascript jquery arrays dynamic object

我想在一个地方保存javascript对象,所以如果选择的行获得触发器,我可以通过不同的方法再次使用该行对象。

也许保存在输入隐藏字段可以工作?但不确定..你会怎么做?

我试图做以下,但是这不起作用,显然我的代码是错的,但我想告诉你,所以你可以告诉你正确的方法。

<script>
    jQuery(function($) {

        var video = {title: 'this is title', time: '2:32:20'}
        $('.arr').val(video);

        $('.show').click(function() {
            console.log($('.arr').val());
        });
    });
</script>
<input type="hidden" name="arr" class="arr" value="" />
<input type="button" class="show" value="Show" />

2 个答案:

答案 0 :(得分:7)

JQuery支持元素数据(参见http://docs.jquery.com/Core/data)。这允许您在“已知”位置设置数据,就像稍后要检索的文档本身一样。

$(document).data('foo','my data');

可以检索为:

$(document).data('foo') // 'my data'

您不仅限于字符串值,还可以存储对象。

希望这有帮助。

答案 1 :(得分:4)

如果我理解正确,您可以使用jquery .data()方法保存从“json服务器”获得的这些对象。如果要保存的对象位于名为myobject的变量中,并且您希望使用标识为"someid"的DOM元素保存它

$('#someid').data('mydata', myobject);

保存数据。要检索:

var thedata = $('#someid').data('mydata');