0

我有一个下拉菜单。最初它是空的,在某些时候它会动态地填充元素。当用户选择一个选项时,会触发 onchange 事件。当下拉列表中至少有两个值时,此方法有效。

我想要完成的是,当下拉列表中只有一个元素并且用户单击它时,会触发一些事件。我尝试了 onclick 事件,但这在下拉列表中不起作用。

这是我的jsfiddle:

http://jsfiddle.net/MwHNd/551/

某些选项可能是在下拉菜单中具有默认值,例如“选择一个选项”,这样 onchange 将始终触发。没有这个选项有没有办法做到这一点?

4

2 回答 2

1

文档是你的朋友:

示例:http: //jsfiddle.net/MwHNd/553/

于 2012-08-20T14:46:18.140 回答
0

好吧,它不是那么简单,有两种方法可以做到这一点,都需要 if 语句..您可以在 js 中“动态地”查看选择器中有多少选项并告诉它将元素更改为如果您的下拉菜单中只有一个元素,则使用按钮或使用 jquery 执行焦点功能 $selector.focus(function(){ 然后您想要的任何内容等等,您还说您不想通过下拉菜单执行此操作。使用 javascript 函数单击事件加上您想要的选项值的选定索引

function change(){
    document.getElementById("your-element").selectedIndex =2;
}
function changeit(){
    document.getElementById("your element").selectedIndex =1;
}
function changeitup(){
    document.getElementById("your element").selectedIndex =0;
}

所以如果你想要选择的索引加上你想要做的事件

<input type='button' onclick="change();otherfunction()">会给你选择的索引加上你最初想要的功能

于 2012-08-20T14:47:36.180 回答