Solved

Javascript switch

Posted on 2009-07-12
2
323 Views
Last Modified: 2012-05-07
I have a callback function (onContentLoad) that is parsing some json.  I have a bunch of if/else statements that I'd like to turn into a swtich.
onContentLoad: function (json) {
    //Parse the returned JSON response
    if (json.result == 'success' && json.addremove == 'add') {
 
}
    else if (json.result == 'success' && json.addremove == 'remove') {
 
}
    else if (json.result == 'fail' && json.message == 'action-failed') {
 
}
    else if (json.result == 'fail' && json.message == 'number-exceeded') {
 
}
    else if (json.result == 'fail' && json.message == 'not-logged-in') {
 
}
}

Open in new window

0
Comment
Question by:aznprncritic
2 Comments
 
LVL 36

Accepted Solution

by:
Zyloch earned 250 total points
ID: 24835544
You cannot turn a condition in which you are testing two equalities into a single switch. What you can do is:

//Parse the returned JSON response
if (json.result == 'success')
{
    switch (json.addremove)
    {
    case 'add':
        // Code
        break;
    case 'remove':
        // Code
        break;
    }
}
else if (json.result == 'fail')
{
    switch (json.message)
    {
    case 'action-failed':
        // Code
        break;
    case 'number-exceeded':
        // Code
        break;
    case 'not-logged-in':
        // Code
        break;
    }
}

Open in new window

0
 
LVL 41

Expert Comment

by:HonorGod
ID: 24835560

if ( json. result == 'success' ) {
  if ( json.addremove == 'add' ) {
//  #1 - json.result == 'success' && json.addremove == 'add' 
  } else {
//  #2 - json.result == 'success' && json.addremove == 'remove' 
  }
} else {
  switch ( json.message ) {
    case 'action-failed' :
//    #3 json.result == 'fail' && json.message == 'action-failed'
      break;
    case  'number-exceeded' :
//    #4 json.result == 'fail' && json.message == 'number-exceeded'
      break;
    case 'not-logged-in' :
//    #5 json.result == 'fail' && json.message ==    'not-logged-in'
      break;
    default :
      alert( 'oops' );
  }
}

Open in new window

0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

In this article you'll learn how to use Ajax calls within your CodeIgniter application. To explain this, I'll illustrate how to implement a simple contact form to allow visitors to send you an email through your web site.
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…

778 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