jagamot
jagamot

Reputation: 5464

Bootstrap Select - Set selected value by text

How can I change the drop down if I only know the text and not the value?

Here is my select -

 <select id="app_id" class="selectpicker">
       <option value="">--Select--</option>
       <option value="1">Application 1</option>
       <option value="2">Application 2</option>
 </select>

Upvotes: 4

Views: 20575

Answers (2)

Leo
Leo

Reputation: 1231

Try this:

$(function(){

  // Init selectpicker
  $('#app_id').selectpicker({
    style: 'btn-info',
    size: 4
  });

  // Set desired text 
  var optionToSet = "Application 1";

  $("#app_id option").filter(function(){
    // Get the option by its text
    var hasText = $.trim($(this).text()) ==  optionToSet;
    if(hasText){
    // Set the "selected" value of the <select>.
    $("#app_id").val($(this).val());
    // Force a refresh.
    $("#app_id").selectpicker('refresh')
    }
  });

});

Inspired by @Sathish's answer

Working JSfiddle

Upvotes: 0

Sathish
Sathish

Reputation: 2460

You can use jquery filter() and prop() like below

jQuery("#app_id option").filter(function(){
    return $.trim($(this).text()) ==  'Application 2'
}).prop('selected', true);

DEMO

Using BOOTSTRAP SELECT,

jQuery("#app_id option").filter(function(){
    return $.trim($(this).text()) ==  'Application 2'
}).prop('selected', true);
$('#app_id').selectpicker('refresh');

DEMO

Upvotes: 13

Related Questions