Solved

storing cookie data in a hash

Posted on 2008-06-20
5
1,088 Views
Last Modified: 2010-04-21
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

0
Comment
Question by:newbie27
  • 3
  • 2
5 Comments
 
LVL 82

Expert Comment

by:hielo
ID: 21832904
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
 
LVL 8

Author Comment

by:newbie27
ID: 21832962
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
 
LVL 82

Accepted Solution

by:
hielo earned 500 total points
ID: 21833043
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
 
LVL 8

Author Closing Comment

by:newbie27
ID: 31469146
thanks
0
 
LVL 82

Expert Comment

by:hielo
ID: 21834669
You are welcome!
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Having worked on larger scale sites, we found out that you are bound to look at more scalable solutions to integrating widgets, code snippets or complete applications and mesh them into functional sites, in any given composition. To share some of…
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question