2

I am trying to use below javascript to select the month value.I need to get the dropdown selection without using index.As the month values are taken from other file.Please help me. HTML:

<select name="param[start_month]">
<option label="Jan" value="1">Jan</option>
<option label="Feb" value="2">Feb</option>
<option label="Mar" value="3">Mar</option>
<option label="Apr" value="4">Apr</option>
<option label="May" value="5">May</option>
<option label="Jun" value="6">Jun</option>
<option label="Jul" value="7">Jul</option>
<option label="Aug" value="8">Aug</option>
<option label="Sep" value="9">Sep</option>
<option label="Oct" value="10">Oct</option>
<option label="Nov" value="11">Nov</option>
<option label="Dec" value="12" selected="selected">Dec</option>
</select>

Javascript:

document.getElementsByName("param[start_month]").value="Jan"

also i tried this too

document.getElementsByName("param[start_month]").label="Jan" 
1

1 Answer 1

2

Get the option bu using attribute equals selector and set selected property.

document.querySelector("[name='param[start_month]'] option[label='Jan']").selected = true;
<select name="param[start_month]">
  <option label="Jan" value="1">Jan</option>
  <option label="Feb" value="2">Feb</option>
  <option label="Mar" value="3">Mar</option>
  <option label="Apr" value="4">Apr</option>
  <option label="May" value="5">May</option>
  <option label="Jun" value="6">Jun</option>
  <option label="Jul" value="7">Jul</option>
  <option label="Aug" value="8">Aug</option>
  <option label="Sep" value="9">Sep</option>
  <option label="Oct" value="10">Oct</option>
  <option label="Nov" value="11">Nov</option>
  <option label="Dec" value="12" selected="selected">Dec</option>
</select>


Or set the value as the value of the attribute specified. Although getElementsByName returns collection of elements you need to get element by index.

document.getElementsByName("param[start_month]")[0].value = "1"
<select name="param[start_month]">
  <option label="Jan" value="1">Jan</option>
  <option label="Feb" value="2">Feb</option>
  <option label="Mar" value="3">Mar</option>
  <option label="Apr" value="4">Apr</option>
  <option label="May" value="5">May</option>
  <option label="Jun" value="6">Jun</option>
  <option label="Jul" value="7">Jul</option>
  <option label="Aug" value="8">Aug</option>
  <option label="Sep" value="9">Sep</option>
  <option label="Oct" value="10">Oct</option>
  <option label="Nov" value="11">Nov</option>
  <option label="Dec" value="12" selected="selected">Dec</option>
</select>

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

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.