1

Here, I am getting options text in select dropdown using jquery

tmp_selected  = $('#new_autoccType option:selected').text();

But, I can't able to equal the strings, getting correct options text in alert. It doesn't goes to if loop if the strings are equal. This is not working only if I use dynamic options value, if it is static, I can get the values.

Could somebody help?

var def_expval="";
var newEC = 1;
var strNewCC = 1;


data = '<select class="tablefont" name="new_autoccType" id="new_autoccType">';	
 data+='<option value= '+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+newEC+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+' > '+"New Electronic Check"+' </option>';
		  data+='<option value= '+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+strNewCC+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+' > '+"New Debit/Credit Card"+' </option>';
data +='</select>';

$("#somedivs").html(data);


$('#new_autoccType').change(function() {  
	           selOption =  $(this).val();
	            tmp_selected  = $('#new_autoccType option:selected').text();
			   alert(tmp_selected);	
			   if(tmp_selected == "New Electronic Check")
	           {
	           		alert("inside ec");
					//some operations	
	           }
          if (tmp_selected == "New Credit/Debit Card")
	           {
       			 alert("inside cc");
       	 		//some operations
	           } 
}).change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="somedivs"></div> 

Static JS FIDDLE

Dynamic JS FIDDLE - PROBLEM HERE

0

5 Answers 5

1

Try remove spaces, for this operation you can use trim function

var tmp_selected = $('#new_autoccType option:selected').text().trim();

Also for the second condition change text

from if (tmp_selected == "New Credit/Debit Card") to if (tmp_selected == "New Debit/Credit Card")

Demo: http://jsfiddle.net/hs74sby1/13/

Sign up to request clarification or add additional context in comments.

Comments

1

You have spaces in your strings use $.trim(tmp_selected) function to remove spaces

if(tmp_selected == " New Electronic Check ")
           {
                alert("inside ec");
                //some operations   
           }
     if (tmp_selected == " New Debit/Credit Card ")
           {
             alert("inside cc");
            //some operations
           } 

Working Link

Comments

1

use trim() to remove spaces from the selected text like this:

 var tmp_selected = $('#new_autoccType option:selected').text().trim();

Comments

1

js fiddle

try this

$('#new_autoccType').change(function() {  
               selOption =  $(this).val();
               tmp_selected  = $('#new_autoccType option:selected').text();
               alert(tmp_selected); 
               if(tmp_selected.trim() == "New Electronic Check")
               {
                    alert("inside ec");
                    //some operations   
               }
               if (tmp_selected.trim() == "New Debit/Credit Card")
               {
                 alert("inside cc");
                //some operations
               } 
}).change();

Comments

1

Use $.trim(tmp_selected) for comapring, remove space

$('#new_autoccType').change(function() {  
           selOption =  $(this).val();
            tmp_selected  = $('#new_autoccType option:selected').text();
           alert(tmp_selected); 
           if($.trim(tmp_selected) == "New Electronic Check")
           {
                alert("inside ec");
                //some operations   
           }
      if ($.trim(tmp_selected) == "New Credit/Debit Card")
           {
             alert("inside cc");
            //some operations
           } 
    }).change();

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.