我想在加载页面时将 cookie 值直接加载到具有特定类的所有 html 字段。我创建了一个与字段 ID 同名的 cookie。
这样做是行不通的。
$(".class").val(function(){
el=$(this);
id=el.attr("id");
cookie_val=$.cookie(id);
el.val(cookie_val);
});
任何的想法?
将函数传递给jQuery 的.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 保存的值填充一个字段)。
here´s a function you can send the parameter/cookiename and return value
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);
}
}