<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>
15 个解决方案
#1
你要求的效果是怎么样的?这个没错呀,在listbox和dropdownlist之间切换的
#2
设置select的size越大展开的越大!
#3
帮顶 。。
#4
不是 这个展开的效果和我们手动点击下拉菜单的效果不一样 我想实现一模一样的效果
#5
好像没有把。只有试试用DIV来模拟SELECT吧。
#6
楼主我试过n多办法,真的不是js能干的事情
#7
最后用div做,还简单
#8
下面代码好像只能在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>
#9
楼上牛人啊
#10
简单
<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属性
<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属性
#11
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);
}
}少括号了
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);
}
}少括号了
#12
#8楼的代码在IE下好像也无效
#11楼的代码我不会用,下面这样对吗
#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>
#13
<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>貌似是这样
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>貌似是这样
#14
代码很简单就是动态添加了一个select控件的multiple属性
#15
#1
你要求的效果是怎么样的?这个没错呀,在listbox和dropdownlist之间切换的
#2
设置select的size越大展开的越大!
#3
帮顶 。。
#4
不是 这个展开的效果和我们手动点击下拉菜单的效果不一样 我想实现一模一样的效果
#5
好像没有把。只有试试用DIV来模拟SELECT吧。
#6
楼主我试过n多办法,真的不是js能干的事情
#7
最后用div做,还简单
#8
下面代码好像只能在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>
#9
楼上牛人啊
#10
简单
<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属性
<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属性
#11
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);
}
}少括号了
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);
}
}少括号了
#12
#8楼的代码在IE下好像也无效
#11楼的代码我不会用,下面这样对吗
#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>
#13
<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>貌似是这样
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>貌似是这样
#14
代码很简单就是动态添加了一个select控件的multiple属性