我正在尝试模拟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>
答案 0 :(得分:4)
这样做:
$('.formselect').val('single').trigger('change');
在您的代码中,您尝试设置不存在的val 2
。正如您在问题中提到的那样,您感兴趣的价值实际为single
。
答案 1 :(得分:1)
尝试:
$('select[name="srctype"]').val('single')
或
$('select[name="srctype"] option:eq(1)').prop('selected',1)
正如您在评论中指出的那样,这对您有用:
(function ($) {
$('select[name="srctype"]').val('single');
}).call(this, jQuery);
答案 2 :(得分:0)
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');