Reputation: 69052
I want to know how to select the first option in all select tags on my page using jquery.
tried this:
$('select option:nth(0)').attr("selected", "selected");
But didn't work
Upvotes: 113
Views: 239407
Reputation: 322
Here is a simple javascript
solution which works in most cases:
document.getElementById("selectId").selectedIndex = "0";
Upvotes: 4
Reputation: 26982
Try this out...
$('select option:first-child').attr("selected", "selected");
Another option would be this, but it will only work for one drop down list at a time as coded below:
var myDDL = $('myID');
myDDL[0].selectedIndex = 0;
Take a look at this post on how to set based on value, its interesting but won't help you for this specific issue:
Change the selected value of a drop-down list with jQuery
Upvotes: 203
Reputation: 745
I'm answering because the previous answers have stopped working with the latest version of jQuery. I don't know when it stopped working, but the documentation says that .prop() has been the preferred method to get/set properties since jQuery 1.6.
This is how I got it to work (with jQuery 3.2.1):
$('select option:nth-child(1)').prop("selected", true);
I am using knockoutjs and the change bindings weren't firing with the above code, so I added .change() to the end.
Here's what I needed for my solution:
$('select option:nth-child(1)').prop("selected", true).change();
See .prop() notes in the documentation here: http://api.jquery.com/prop/
Upvotes: 3
Reputation: 12679
Your selector is wrong, you were probably looking for
$('select option:nth-child(1)')
This will work also:
$('select option:first-child')
Upvotes: 15
Reputation: 940
var arr_select_val=[];
$("select").each(function() {
var name=this.name;
arr_select_val[name]=$('select option:first-child').val();
});
// Process the array object
$('.orders_status_summary_div').print(arr_select_val);
Upvotes: 1
Reputation: 7078
Ana alternative Solution for RSolgberg, which fires the 'onchange'
event if present:
$("#target").val($("#target option:first").val());
How to make first option of <select > selected with jQuery?
Upvotes: 11
Reputation: 51
$("#DDLID").val( $("#DDLID option:first-child").val() );
For Complete Drop Down List Operations using Jquery
Upvotes: 5
Reputation: 105
if you want to check the text of selected option regardless if its the 1st child.
var a = $("#select_id option:selected").text();
alert(a); //check if the value is correct.
if(a == "value") {-- execute code --}
Upvotes: 1
Reputation: 6241
What you want is probably:
$("select option:first-child")
What this code
attr("selected", "selected");
is doing is setting the "selected" attribute to "selected"
If you want the selected options, regardless of whether it is the first-child, the selector is:
$("select").children("[selected]")
Upvotes: 4