我希望在加载页面时将cookie值直接加载到具有特定类的所有html字段。我创建了一个与该字段ID同名的cookie。
这样做不起作用。
$(".class").val(function(){
el=$(this);
id=el.attr("id");
cookie_val=$.cookie(id);
el.val(cookie_val);
});
有什么想法吗?
答案 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);
}
}