Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 选择标记:默认情况下选择的第一个选项_Jquery_Html_Select - Fatal编程技术网

Jquery 选择标记:默认情况下选择的第一个选项

Jquery 选择标记:默认情况下选择的第一个选项,jquery,html,select,Jquery,Html,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&l

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

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

        <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>
一切都会很完美,但在幻灯片2之后,它无法正常工作,它会自动选择第一个选项,即使在chrome中,我看到代码正在更改,并且所选的标签正在正确添加到其他选项中

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

我添加了此警报,它显示即使在删除选定属性后,选项1仍处于选中状态:


感谢您的时间和想法…

使用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());
    });
});

请解释使用此代码$slide\u编号选项[value='slide\u+\u t.\u current\u slide+']的逻辑。attr'selected';。您希望在更改事件中获得/执行什么?这是按值从列表中选择正确的幻灯片。当我右转时,我更改当前幻灯片编号,并触发$'slide\编号。触发'change'以更新列表。更改事件只是将列表中选定的属性更改为当前属性。我看到的是,当我将multiple='multiple'添加到select标记时,一切都很好,只是select本身正在更改为我不想要的列表。所以,在更改时,您希望将当前幻灯片设置为选中的?顺便说一句,您使用的是哪个版本的jQuery文件?它已经设置好了,我想在选项列表中找到幻灯片并添加选中的属性。但我不希望其他所有幻灯片都被选中,第一张幻灯片不知怎么被选中了,它没有显示在代码中……在jQuery 1.6之前,.attr方法在检索某些属性时有时会考虑属性值,这可能会导致不一致的行为。从jQuery1.6开始,该方法提供了一种显式检索属性值的方法,而.attr检索属性。
$('#slide_number').change(function () {
    $("option[value='slide_" + _t._current_slide + "']", this).prop('selected', true);
    $(':selected', this).each(function () {
        alert($(this).text());
    });
});