select tag:默认选择第一个选项

时间:2013-05-25 16:00:07

标签: jquery html5 select

我几乎有一天坚持这个问题......

简单的选择列表如下所示:

        <select id="slide_number">
            <option value="slide_1">Slide 1</option>
            <option value="slide_2">Slide 2</option>
            <option value="slide_3">Slide 3</option>
            <option value="slide_4">Slide 4</option>
        </select>

我使用此代码删除所选属性,然后将其再次添加到正确的选项中。

    $('#slide_number').change( function() {
        $('#slide_number option:selected').removeAttr('selected');
        $('#slide_number :selected').each( function() { alert( $(this).find('#slide_number :selected') ) } );
        $("#slide_number option[value='slide_" + _t._current_slide + "']" ).attr( 'selected','' );
    } );

一切都很完美,但是在幻灯片2之后它无法正常工作,它会自动选择第一个选项,即使在Chrome中我看到代码正在改变,所选标签也正确地添加到其他选项。

在Safari的iPad上我看到当我选择选项3时,它同时签署选项1和选项3,这是我认为导致问题的原因,但是我无法摆脱自动选择1个选项:/

我添加了此警报,它显示即使在删除所选属性后,仍然会选择选项1 :(

感谢您的时间和想法...

1 个答案:

答案 0 :(得分:0)

使用jQuery v1.9.1 +

尝试此操作
$('#slide_number').change(function () {
    $("option[value='slide_" + _t._current_slide + "']", this).prop('selected', true);
    $(':selected', this).each(function () {
        alert($(this).text());
    });
});