gpt4 book ai didi

javascript - jQuery:取消选择元素中的选项

转载 作者:行者123 更新时间:2023-11-28 18:42:37 24 4
gpt4 key购买 nike

我遇到了选择元素的奇怪行为。所以,我有一个带有多个选项的选择元素。选项之一为空 - 插件需要它来输出占位符。

我需要可以清除所选选项的功能,我写了如下内容:

$(element).val('');
$(element).find("option:selected").removeAttr("selected");

问题是“selected”属性仍然在这里并且是旧选项 - 您可以在代码示例中看到它。

所以,我有两个问题:

1) 为什么 jQuery 库的 .val() 方法不更新选项列表中的“selected”属性?

2) 为什么我无法更新我的案例中的“selected”属性?如果我切换这些语句,它就会起作用:

$(element).find("option:selected").removeAttr("selected");
$(element).val('');

代码示例:

$(function(){


$("#unselect").click(function(){

$("#lang_type").val('');
$("#lang_type").find("option:selected").removeAttr("selected");
alert($("#lang_type").html());

});




});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="lang_type">
<option value=""></option>
<option value="01">01 - Language of text</option>
<option value="02">02 - Original language of a translated text</option>
<option selected="selected" value="03">03 - Language of abstracts</option>
<option value="04">04 - Rights language</option>
<option value="05">05 - Rights-excluded language</option>
<option value="06">06 - Original language in a multilingual edition</option>
<option value="07">07 - Translated language in a multilingual edition</option>
<option value="08">08 - Language of audio track</option>
<option value="09">09 - Language of subtitles</option>
</select>

<button id="unselect">Unselect</button>

最佳答案

编辑:您可以使用 prop(false) 属性,例如 this

$(function(){
$("#unselect").click(function(){
$("#lang_type").val('');
$("#lang_type").find("option:selected").prop('selected',false);
});
});

就像@yezzz所说,阅读以下内容:
注意:不要使用removeProp()方法删除原生属性,例如checked、disabled或selected。这将完全删除该属性,并且一旦删除,就无法再次添加到元素中。使用 .prop() 将这些属性设置为 false。

关于javascript - jQuery:取消选择元素中的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35901793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com