JS能否展开select(下拉框)

go786 2010-03-25 03:27:41
我想做一个按钮,点击之后可以展开某个select,请问可否实现?我找到了下面这个代码,可是他展开的效果和我们点击下拉框展开的效果不一样。大家看看。。。
<select size="1" id="test1"> 
<option value="dd">dd</option>
</select>
<a onclick='if(test1.size==1){test1.size=test1.length} else{test1.size=1}'>点击</a>
...全文
8198 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lemon520 2010-03-25
  • 打赏
  • 举报
回复
下面代码好像只能在IE下出效果

<script>
function demo(){
test1.focus();
var WshShell = new ActiveXObject("Wscript.Shell");
try {
WshShell.SendKeys("%{DOWN}");
} catch(e){}
WshShell.Quit;
}
</script>

<select size="1" id="test1"><option value="dd">dd </option></select>
<a onclick='demo();'>点击</a>
fudg1211 2010-03-25
  • 打赏
  • 举报
回复
最后用div做,还简单
passself 2010-03-25
  • 打赏
  • 举报
回复
楼主我试过n多办法,真的不是js能干的事情
gxq323 2010-03-25
  • 打赏
  • 举报
回复
代码很简单就是动态添加了一个select控件的multiple属性
gxq323 2010-03-25
  • 打赏
  • 举报
回复
<script>
function a(){
var sel=document.getElementById("sel1");
sel.multiple="multiple";

}
</script>
<select id="sel1"><option value="dd">dd </option><option value="cc">cc </option></select>
<a onclick='a();'>点击</a>貌似是这样
灬上海爽爷 2010-03-25
  • 打赏
  • 举报
回复
好像没有把。只有试试用DIV来模拟SELECT吧。
go786 2010-03-25
  • 打赏
  • 举报
回复
不是 这个展开的效果和我们手动点击下拉菜单的效果不一样 我想实现一模一样的效果
VirusFu 2010-03-25
  • 打赏
  • 举报
回复
帮顶 。。
shensiabout 2010-03-25
  • 打赏
  • 举报
回复
设置select的size越大展开的越大!
go786 2010-03-25
  • 打赏
  • 举报
回复
#8楼的代码在IE下好像也无效
#11楼的代码我不会用,下面这样对吗

<script>
function a(){
var oo=document.getElementById("createedite");
var sel=document.createElement("select");
sel.id="sel1";
sel.multiple="multiple";
oo.appendChild(sel)
for(i=1;i<5;i++){
var op=document.createElement("OPTION");
op.value=i;
op.innerHTML=i;
sel.appendChild(op);
}
}
</script>
<select id="sel1"><option value="dd">dd </option></select>
<a onclick='a();'>点击</a>
unicode 2010-03-25
  • 打赏
  • 举报
回复
你要求的效果是怎么样的?这个没错呀,在listbox和dropdownlist之间切换的
gxq323 2010-03-25
  • 打赏
  • 举报
回复
function a(){
var oo=document.getElementById("createedite");
var sel=document.createElement("select");
sel.id="sel1";
sel.multiple="multiple";
oo.appendChild(sel)
for(i=1;i<5;i++){
var op=document.createElement("OPTION");
op.value=i;
op.innerHTML=i;
sel.appendChild(op);
}
}少括号了
gxq323 2010-03-25
  • 打赏
  • 举报
回复
简单
<script>
function a();
var oo=document.getElementById("createedite");
var sel=document.createElement("select");
sel.id="sel1";
sel.multiple="multiple";
oo.appendChild(sel)
for(i=1;i<5;i++){
var op=document.createElement("OPTION");
op.value=i;
op.innerHTML=i;
sel.appendChild(op);
}
</script>点击调用a()就行了,动态添加multiple属性
VirusFu 2010-03-25
  • 打赏
  • 举报
回复
楼上牛人啊

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧