我正在尝试模拟一个javascript,以便从下面的下拉列表中选择。我在这里尝试这段代码,但它不起作用。
$('select[name="srctype"]').val(2).trigger('change');
我在这里做错了什么吗?我的 JavaScript 是否为下面的代码布局搞砸了?
我正在尝试选择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>
这样做:
$('.formselect').val('single').trigger('change');
在您的代码中,您尝试设置不存在的 val 2
。您感兴趣的值实际上single
正如您在问题中提到的。
下面是一个演示:http://jsbin.com/eXONuhu/1/
尝试:
$('select[name="srctype"]').val('single')
或
$('select[name="srctype"] option:eq(1)').prop('selected',1)
正如您在评论中指出的那样,这对您有用:
(function ($) {
$('select[name="srctype"]').val('single');
}).call(this, jQuery);
var myVal = $('select[name="srctype"] option:eq(1)').attr('value');
$('select[name="srctype"]').val(myVal).trigger('change');
或优化版本
var mySelect = $('select[name="srctype"]');
var myVal = $('option:eq(1)', mySelect).attr('value');
mySelect.val(myVal).trigger('change');
小提琴 - http://jsfiddle.net/P6Ayz/1/