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

LVL 8
newbie27Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
hieloConnect With a Mentor Commented:
getShortList() is returning an ARRAY. So if you are interested in  e2324232342:Sally Professor

You will need:
var myList =  getShortList();
for(var i=0; i < myList.length; ++i)
{
  if( myList[i].id=='e2324232342' )
   alert( myList[i].id + " " myList[i].title)
}
0
 
hieloCommented:
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?
0
 
newbie27Author Commented:
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

0
 
newbie27Author Commented:
thanks
0
 
hieloCommented:
You are welcome!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.