Deen
Deen

Reputation: 621

How to get unselected value in dropdown jquery

I am using following html for dropdown

<select class="form-control" id="iddeStatus" name="iddeStatus">
                                 <option value="">--Select ID De-dup Status--</option>
                                 <option value="PASSED">Passed</option>
                                 <option value="FAILED">Failed</option>
                              </select>

And below is my jquery code to get dropdown value

var iddeStatus = $("#iddeStatus").val();
 if((iddeStatus!=null)||(iddeStatus!="")){
...
}else{
...
}

Problem is, even if i dont select the value, control goes inside the if statement.

Upvotes: 1

Views: 1308

Answers (3)

Deepak Kushvah
Deepak Kushvah

Reputation: 278

Please use below code to get unselected value in dropdown jquery.

var iddeStatus = $("#iddeStatus").val();
if((iddeStatus!=null)||(iddeStatus!="")){
var unSelected = $("#iddeStatus").find('option').not(':selected');
     for (var i = 0; i < unSelected.length; i++) {
         alert(unSelected[i].text)
     }

}else{
alert('else part')
}

Upvotes: 0

Arun P Johny
Arun P Johny

Reputation: 388316

You can check for truthyness of the value

var iddeStatus = $("#iddeStatus").val();
if (!iddeStatus) {
    //not selected
} else {//no need to have the else block if you don't have anything to do here
    //selected
}

or the opposite

var iddeStatus = $("#iddeStatus").val();
if (iddeStatus) {
    //selected
} else {
    //not selected
}

Upvotes: 0

Milind Anantwar
Milind Anantwar

Reputation: 82231

Reason for behaviour:

That is because you have or statement in if between if conditions. You need to use && condition instead of ||

if((iddeStatus!=null) && (iddeStatus!="")){
  ...
}

Solution:

You can narrow down the if condition to simply:

if(iddeStatus!="")){
  ...
}

Upvotes: 1

Related Questions