Reputation: 6058
I am trying to simulate a javascript to choose from the dropdown list below. I am trying this code here but its not working.
$('select[name="srctype"]').val(2).trigger('change');
Am i doing something wrong here? Is my javascript messed up for this layout of code below?
I am trying to choose value="single"
<select name="srctype" class="formselect" onchange="typesel_change()">
<option value="any" selected="selected">any</option>
<option value="single">Single host or alias</option>
<option value="network">Network</option>
<option value="pptp">PPTP clients</option>
<option value="pppoe">PPPoE clients</option>
<option value="l2tp">L2TP clients</option>
<option value="wan">WAN subnet</option>
<option value="wanip">WAN address</option>
<option value="lan">LAN subnet</option>
<option value="lanip">LAN address</option>
</select>
Upvotes: 1
Views: 8009
Reputation: 207901
Try:
$('select[name="srctype"]').val('single')
or
$('select[name="srctype"] option:eq(1)').prop('selected',1)
As you noted in your comment, this worked for you:
(function ($) {
$('select[name="srctype"]').val('single');
}).call(this, jQuery);
Upvotes: 1
Reputation: 102418
Do this:
$('.formselect').val('single').trigger('change');
In your code you're trying to set a val 2
that doesn't exist. The value you're interested is actually single
as you mention in your question.
Here's a demo: http://jsbin.com/eXONuhu/1/
Upvotes: 5
Reputation: 10880
var myVal = $('select[name="srctype"] option:eq(1)').attr('value');
$('select[name="srctype"]').val(myVal).trigger('change');
Or an optimized version
var mySelect = $('select[name="srctype"]');
var myVal = $('option:eq(1)', mySelect).attr('value');
mySelect.val(myVal).trigger('change');
Fiddle - http://jsfiddle.net/P6Ayz/1/
Upvotes: 0