1

我正在尝试模拟 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>
4

3 回答 3

5

做这个:

$('.formselect').val('single').trigger('change');

在您的代码中,您试图设置一个2不存在的 val。您感兴趣的价值实际上single就像您在问题中提到的那样。

这是一个演示:http: //jsbin.com/eXONuhu/1/

于 2013-09-06T19:16:39.477 回答
1

尝试:

$('select[name="srctype"]').val('single')

或者

$('select[name="srctype"] option:eq(1)').prop('selected',1)

正如您在评论中指出的那样,这对您有用:

(function ($) {
    $('select[name="srctype"]').val('single');
}).call(this, jQuery);
于 2013-09-06T19:15:18.083 回答
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');

小提琴 - http://jsfiddle.net/P6Ayz/1/

于 2013-09-06T19:18:27.733 回答