SteveO7
SteveO7

Reputation: 2460

How to add an attribute to an HTML string

I want to set the 'selected' attribute in a select option list with javascript/jquery. I have the select element in a jquery object, I just want to add the "selected" attribute to and item in the list.

$(mySelect).html() looks like this;

<option value="LININGER LAKE">LININGER LAKE</option>
<option value="MOOREDALE LAKE">MOOREDALE LAKE</option>
<option value="CARTER LAKE">CARTER LAKE</option>

I need to find the "CARTER LAKE" option and add the selected attribute to it so the HTML looks like this

<option value="LININGER LAKE">LININGER LAKE</option>
<option value="MOOREDALE LAKE">MOOREDALE LAKE</option>
<option value="CARTER LAKE" selected="selected">CARTER LAKE</option>

I know this can't be that hard, I'm just having a brain fart!

Upvotes: 0

Views: 121

Answers (5)

Yury Tarabanko
Yury Tarabanko

Reputation: 45121

As simple as $(mySelect).val('CARTER LAKE')

Demo

Upvotes: 2

Rituraj ratan
Rituraj ratan

Reputation: 10378

Try by attr()

$(document).ready(function(){
  
$('option[value="CARTER LAKE"]').attr( "selected", "selected" );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option value="LININGER LAKE">LININGER LAKE</option>
<option value="MOOREDALE LAKE">MOOREDALE LAKE</option>
<option value="CARTER LAKE">CARTER LAKE</option>
  </select>

Upvotes: 1

Kartikeya Khosla
Kartikeya Khosla

Reputation: 18873

Try .contains() as shown

 $("select option:contains('CARTER LAKE')").attr('selected','selected')

OR

 $("select option:contains('CARTER LAKE')").prop('selected',true)

DEMO

Upvotes: 2

Damian Polac
Damian Polac

Reputation: 934

$('option[value="CARTER LAKE"]').prop( "selected" );

or

$('option[value="CARTER LAKE"]').attr( "selected", "selected" );

Upvotes: 2

Dave
Dave

Reputation: 10924

Use the jQuery Attribute Equals selector:

$(mySelect).find('option[value="CARTER LAKE"]').prop("selected", "selected");

Upvotes: 2

Related Questions