user2002631
user2002631

Reputation: 31

How to print dropdown values of a select tag using javascript?

I'm having a dropdown for selecting cities of Tamil Nadu.
All the cities are in an array list and using a for loop, I am iterating the values and writing using document.write but still I'm not getting the values printed in dropdown.

<select>
   <script>
      document.writeln('&ltoption value="chennai">');
   </script>
</select>

How to get the dropdown values printed now?

Thanks in advance!

Upvotes: 1

Views: 6152

Answers (5)

PerryW
PerryW

Reputation: 1436

It's years since I've written anything in JSP and your question is lacking a bit in clarity but I think you're after something like this?

<%
 String[] cityArray={"Chennai","Madurai","Dindigal"};
%>

That's just a an array of cities as an example - I assume you have your own

Then, in your page code

<select>
<%
 int i=0;
 for(i=0;i<cityArray.length;i++)
 {
  out.print("<option>" + cityArray[i] + "</option>");
 }
%>
</select>

I've got nothing to test that with and the memory is a bit dim on jsp but is that what you mean?

Upvotes: 0

Techy
Techy

Reputation: 2654

I will give you a demo.

 <?php
  $city=array('Chennai','Madurai','Dindigal');//array containing cities
  $count=1;
  echo "<select>";
  foreach($city as $value)
  {
    echo "<option value='city.$count'>".$value."</option>";
  }

  ?>

Hope you understands.You can also use the id of each for other purposes in jsp

Upvotes: 0

George Gadamer
George Gadamer

Reputation: 13

<select>
    <script >
        var list = [1,2,3];
        for(i in list){
            document.write("<option>"+list[i]+"</option>");
        }
    </script>
<select>

var list = ${cities}

Upvotes: 0

Suresh Atta
Suresh Atta

Reputation: 121998

Assuming you are using jquery :

Assuming your HTML is similar to this

<SELECT NAME="mylist">
  <option>Volvo</option>
  <option>Saab</option>
  <option>Mercedes</option>
  <option>Audi</option>
</SELECT>

you need to modify your selector to iterate over the <OPTION> tags, your selector was iterating over the <SELECT> tag


var inputName = mylist;
$(':input[name=' + inputName + '] option').each(function(i, selected)    {
        alert($(selected).text());
});

if you need in java script :

<form>
<select id="myselect">
<option value="cat">Option 1</option>
<option value="dog">Option 2</option>
<option value="bear">Option 3</option>
</select>
</form>

<script type="text/javascript">
var selectobject=document.getElementById("myselect")
for (var i=0; i<selectobject.length; i++){
alert(selectobject.options[i].text+" "+selectobject.options[i].value)
}

</script>

Upvotes: 2

Luke Mills
Luke Mills

Reputation: 1606

Your option tag should look like this:

<option value="chennai">Chennai</option>

The code snippet you posted would produce an invalid (unclosed) option tag.

Upvotes: 0

Related Questions