将cookie加载到html字段jquery

时间:2013-01-31 18:13:34

标签: jquery html cookies

我希望在加载页面时将cookie值直接加载到具有特定类的所有html字段。我创建了一个与该字段ID同名的cookie。

这样做不起作用。

$(".class").val(function(){
    el=$(this);
    id=el.attr("id");
    cookie_val=$.cookie(id);
    el.val(cookie_val);
});

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

将函数传递给jQuery's .val()方法时,函数应返回所需的值。

正如您的代码所代表的那样,您的函数正在运行,它会设置值。然后它返回undefined,然后将其设置为空。

这应该有效:

$('.class').val(function () {
    return $.cookie($(this).attr('id'));
});

或者,您可以使用.each()让您的函数执行值设置而无需返回:

$('.class').each(function () {
    var el = $(this);
    el.val($.cookie(el.attr('id')));
});

FWIW,我写了一个cookie库,它为这个功能提供了jQuery插件(用一个同名cookie保存的值填充一个字段)。

答案 1 :(得分:0)

这是一个函数,你可以发送参数/ cookiename和返回值

function findnameGetvalue(n){
    a = document.cookie;
    while(a != ''){
        cookiename = a.substring(0,a.search('='));
        cookievalue = a.substring(a.search('=')+1,a.search(';'));
        if(cookievalue == cookiename+'='){
            cookievalue = a.substring(a.search('=')+1,a.length);
        }
        if(cookiename == n){ // if found return value
            return cookievalue;
        }
        i = a.search(';');
        if(i == -1){ // not found do stuff
            i = a.length
        }
        else{
            i += 2;
        }
        a = a.substring(i,a.length);
    }
}