我想加載頁面時直接加載一個cookie值到具有特定類的所有html字段。我有一個與字段ID相同名稱的cookie。加載cookie到html字段jquery
這樣做不起作用。
$(".class").val(function(){
el=$(this);
id=el.attr("id");
cookie_val=$.cookie(id);
el.val(cookie_val);
});
有什麼想法嗎?
我想加載頁面時直接加載一個cookie值到具有特定類的所有html字段。我有一個與字段ID相同名稱的cookie。加載cookie到html字段jquery
這樣做不起作用。
$(".class").val(function(){
el=$(this);
id=el.attr("id");
cookie_val=$.cookie(id);
el.val(cookie_val);
});
有什麼想法嗎?
將函數傳遞給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,我寫了一個餅乾庫,它提供jQuery插件爲這個非常的功能(用一個同名cookie的cookie填充一個字段)。
here's一個功能,您可以發送參數/ 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);
}
}
用戶已經在使用cookie庫(https://github.com/carhartl/jquery-cookie)來訪問cookie值。 – JAAulde
啊好吧我剛剛看到這個,想好了,不管他在做什麼,我有一個解決方案 –
OK!這是問題所在。謝謝! – rekobeko