Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Jquery and switch statement

Posted on 2011-09-30
22
363 Views
Last Modified: 2012-05-12
I have the drop down that triggers  second drop down. Inside of that
code I am using switch statement so switch does not seems to work correctly
because every time I execute and it execute all cases and I do have break after each case

0
Comment
Question by:erikTsomik
  • 11
  • 7
  • 4
22 Comments
 
LVL 15

Expert Comment

by:Eyal
ID: 36894347
probably break; is missing in the end of each case
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36894351
NO I do have a break
0
 
LVL 15

Expert Comment

by:Eyal
ID: 36894359
post the code
0
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.

 
LVL 82

Expert Comment

by:leakim971
ID: 36894360
ok there's no bug with standard javascript function
you must show we your code to know where you make the mistake
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36894386
$('#type').change(function () {
            $("#Message").parent().hide();
            
            switch ($(this).val()){
                  case "0":
                        
                        $("#Message").parent().hide();
                        
                  break;
                  case "1":
                        

                        //check the value of the needAudience ONLY if selection of the menu Type =1 (System Page).Also add menu link message
                        $("#link").change(function () {
                              //alert($("#link").val());
                              $.ajax({
                                    url: "val,
                                    dataType: "json",
                                    cache: false,
                                    type: "post",
                                    contentType: "application/json; charset=utf-8",
                                    success: function(data){
                                          
                                          
                                          if (data.data[0].message.length > 0){
                                                
                                                temp = data.data[0].message;
                                                
                                                $("#Message").parent().show();
                                                $("#Message").text(temp);
                                                
                                          }else{
                                                $("#Message").parent().hide();
                                                $("#Message").text('');
                                          }
                                          

                                    }
                              });

                        }).change();
                  
                  break;
                  case "2":
                        
                        
                               
                              
                              $("#link").change(function () {
                              $.ajax({
                              url: "val,
                                    dataType: "json",
                                    cache: false,
                                    type: "post",
                                    contentType: "application/json; charset=utf-8",
                                    success: function(data){
                                    if (data.recordcount > 0) {
                                          if (data.data[0].description.length > 0) {
                                          
                                                temp = data.data[0].description;
                                                
                                                $("#Message").parent().show();
                                                $("#Message").text(temp);
                                                
                                          }
                                          else {
                                                $("#Message").parent().hide();
                                                $("#Message").text('');
                                          }
                                    }else{
                                          $("#Message").parent().hide();
                                          $("#Message").text('');
                                    }
                                    }      
                              }).change();
                              
                        })
                        
                        
                        

                  break;
                  case "3":
                        
                        

                        
                              
                              $("#link").change(function () {
                              $.ajax({
                              url: val,
                                    dataType: "json",
                                    cache: false,
                                    type: "post",
                                    contentType: "application/json; charset=utf-8",
                                    success: function(data){
                                          if (data.recordcount > 0) {
                                                if (data.data[0].description.length > 0) {
                                                
                                                      temp = data.data[0].description;
                                                      //alert(temp);
                                                      $("#Message").parent().show();
                                                      $("#Message").text(temp);
                                                }
                                                else {
                                                      $("#Message").parent().hide();
                                                      $("#Message").text('');
                                                }
                                          }else{
                                                $("#Message").parent().hide();
                                                $("#Message").text('');
                                          }
                                    }      
                              })
                              
                        }).change();
                        });
                        
                        
                        
                  break;
            }
      }).change();
0
 
LVL 15

Expert Comment

by:Eyal
ID: 36894404
debug it in firefox and see what is happening there because code seems to be OK

add debugger; right before the switch statement
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36894406
case 1 and 2 you've

"url": "val,

missing quotes?
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36894409
that is ok . I just remove the real url
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36894414
I use firebug it tells me that I do execute the code 2 or 3 time for no need whre it shoul only be happening once per selection
0
 
LVL 15

Expert Comment

by:Eyal
ID: 36894430
why do you call change()?
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36894437
change so when I arrive on page for edit and I do know what the selections were It will just triggers for me without any selections
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36894491
is there any updates on this
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36894517
what happen when you remove a .change()?
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36894523
when I remove the change nothing will happened
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36894528
...nothing will happened until doing a change on the link?

how many #link do you have in the page
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36894533
1
0
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
ID: 36894569
for the case 2 you've :
					}).change();	
				})
				break;

Open in new window

instead :
					})	
				}).change();
				break;

Open in new window

0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36905115
i've corrected this but it is still doing the same thing . Is something has to do with the case that I reffering to the same id link. But it should not happening because I am calling this in separate case statement
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36906180
is there any other updates
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36906561
could you provide a link to see the page in live?
0
 
LVL 19

Author Comment

by:erikTsomik
ID: 36906604
This code in my local machine
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36906628
could you paste your code updated? or your full page?
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

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

JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
Find out what you should include to make the best professional email signature for your organization.
In this tutorial viewers will learn how to code links for mobile sites that, once clicked, send a call or text to a specified number. For a telephone link (once clicked, calls a number), begin with a normal "<a href=" link tag. For the href, specify…
In this tutorial viewers will learn how to style a corner ribbon overlay for an image using CSS Create a new class by typing ".Ribbon":  Define the class' "display:" as "inline-block": Define its "position:" as "relative": Define its "overflow:" as …

828 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