重置选择框的值
重置选择框的值
我试图重置两个select字段的值,结构如下:
使用jQuery,
$('select').each(function(idx, sel) { $(sel).find('option :eq(0)').attr('selected', true); });
不幸的是,无论我尝试多少种方法,它都不起作用。控制台中没有任何输出。我不知道发生了什么事?我知道有办法做到这一点,你可以通过JS实现任何功能。
编辑:
我发现问题只发生在我尝试在单击DOM元素时触发代码时,然而,我知道代码应该是有效的,因为当我有
$('p').click(function(){ console.log('test'); });
它会在控制台输出'test',但是当我在此函数中包含代码时,什么都不发生。为什么会这样?
Reset the Value of a Select Box (重置下拉框的值)
问题原因:根据O'Reilly参考书中的描述,Select对象的selectedIndex属性是一个整数,用于指定在Select对象中选中的选项的索引。如果没有选中的选项,则selectedIndex为-1。
解决方法:可以使用以下JavaScript代码将Select对象重置为没有选中的选项:
select_box = document.getElementById("myselectbox"); select_box.selectedIndex = -1;
需要注意的是,以这种方式改变选择不会触发onchange()事件处理程序。