如何指定空值来选择下拉列表?

时间:2014-09-25 14:11:19

标签: jquery html javascript-events javascript

这适用于Google Chrome和IE,但不适用于Firefox。对于某些原因,Chrome和IE允许分配空白值,尽管它不属于下拉选项。

document.getElementById('dropdownid').value = "";

请注意,我可以访问jQuery,但没有按照我的意愿进行操作。

$("#dropdownid").val("");

上面的JQuery没有将其设置为空值,因为空白不是下拉选项的一部分。由于某些第三方遗留代码问题,我需要将“”分配给下拉选择值。

有什么想法吗?

7 个答案:

答案 0 :(得分:8)

selectedIndex设置为-1会清除选择。

document.getElementById('dropdownid').selectedIndex = -1;

答案 1 :(得分:2)

只需更改selectedIndex即可。 E.G:



$(function(){
    $dropdown = $("#dropdownid");
    alert($dropdown.val()); //alerts "2"
    $dropdown[0].selectedIndex = -1; //or document.getElementById('dropdownid').selectedIndex = -1;
    alert($dropdown.val()) //alerts null
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="dropdownid">
    <option value="1">1</option>
    <option value="2" selected="selected">2</option>
    <option value="3">3</option>
</select>
&#13;
&#13;
&#13;

http://jsfiddle.net/kxoytdg8/

答案 2 :(得分:0)

在设置之前无法为选择添加空白选项吗?

var jqDropdown = $('#dropdownid');
if (!jqDropdown.find('option[value=""]').length) {
  jqDropdown.prepend($('<option value=""></option>'));
}
jqDropdown.val("");

答案 3 :(得分:0)

您是否尝试取消选择选择中的选项?

$("#dropdownid option").prop("selected", false);

答案 4 :(得分:0)

2018 jQuery 3.2.1答案

如果要在jquery选择器上链接方法, $('#selectId').slideUp(600)[0].selectedIndex = -1似乎可以正常工作(至少在Chrome中有效),但困扰我的“坚持一种语法/框架”偏好。

这也适用: $('#selectId').slideUp(600).find('option[selected]').attr('selected', false);

要更长一些,但是请选择您喜欢的口味。

答案 5 :(得分:0)

您可以尝试
$(“#elementId”).val('');
例如 $(“#CountryDD”).val('');

答案 6 :(得分:-1)

$("#dropdownid option[value='']").attr('selected', true)