问题
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>
回答1:
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);
回答2:
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/
回答3:
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/
来源:https://stackoverflow.com/questions/18664950/simulate-javascript-to-choose-from-dropdown