模拟javascript以从下拉列表中进行选择

时间:2013-09-06 19:12:42

标签: javascript html html-select jquery-trigger

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

3 个答案:

答案 0 :(得分:4)

这样做:

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

在您的代码中,您尝试设置不存在的val 2。正如您在问题中提到的那样,您感兴趣的价值实际为single

以下是演示:http://jsbin.com/eXONuhu/1/

答案 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');

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