模拟JavaScript以从下拉列表中选择



我正在尝试模拟一个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/

相关内容

  • 没有找到相关文章

最新更新