Link to home
Start Free TrialLog in
Avatar of newbie27
newbie27Flag for United Kingdom of Great Britain and Northern Ireland

asked on

storing cookie data in a hash

Hello Experts,
I am saving id and title in the cookie using jQuery cookie plugin separated by ^
$.cookie('slist' , $.cookie('stlist') +"^" + title);
It is working fine but the problem I am having is when I want to retrieve the value either to show or delete particular record from the cookie. I have to make exact match of how the cookie been saved.
All I wanted to know If I can  store the cookie in something like a hash array, every id keeps the title in it? Please can someone help.
I hope you understand the problem here?
Please advice
Thanks




saveList(theId+":"+myTitle);
 
function saveList(title){
   if( $.cookie('slist') != null){
		$.cookie('slist' , $.cookie('stlist') +"^" + title);
   }else{
       $.cookie('slist', title );
   }
   return;
}
 
this is how it is getting saved in the cookie
"i1234%3AMichel%2C%20David%5E"
for 
id = i1234
title = Michel David

Open in new window

Avatar of hielo
hielo
Flag of Wallis and Futuna image

What is separating the cookie "records". The "^" seems to delimit the value for a single record - ex: Joe^Student
But what I am asking is if you are storing Sally^Professor, when you retrieve slist, what does it look like? Is it:
Joe^Student,Sally^Professor?
Avatar of newbie27

ASKER

Hello Hielo,
Attached are the 3 functions I am using to handle cookie values.
The problem I am having in retrieving its value, I always have to make the exact match, as  the data been stored in the cookie.

for ex: e12334324234:Joe Student ^ e2324232342:Sally Professor

function saveShortList(title){
   if( $.cookie('shortlist') != null){
		$.cookie('shortlist' , $.cookie('shortlist') +"^" + title);
   }else{
       $.cookie('shortlist', title );
   }
   return;
}
 
function getShortList(){
	var ret = new Array();
	if( $.cookie('shortlist') )
	{
		var data = $.cookie('shortlist').split("^");
		for(var i=0; i<data.length; i++)
		{
			var subdata = data[i].split(":"); //" :" your separator
			ret.push({id:subdata[0], title:subdata[1]});
		}
	}
	return ret;
}
 
function displayShortList(){
	var myList = getShortList();
	for(var x=0; x<myList.length; x++)
	{	
		if(myList[x].id != 'null'){	
			$('#shortlist').append('<li id="' + myList[x].id + '_li" title="'+ myList[x].title +'" style="background-image:url(\'\');padding-left:0"><a href="#" class="dynAdded" onclick="removeItem(this); return false;" title="Remove">&nbsp;[-]</a>' + myList[x].title + ' </li>');				
		}			
	}
 
}

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of hielo
hielo
Flag of Wallis and Futuna image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
thanks
You are welcome!