1

我被这个问题困扰了将近一天......

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

        <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 仍然被选中:(

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

4

1 回答 1

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());
    });
});
于 2013-05-25T16:34:06.427 回答