简单模拟下拉组合框
简单模拟下拉组合框
-- Sailflying
Sailflying(车仔)原创,版权所有,如需使用,请与我联系( sailflying@163.net )
动机:
文章发布系统中,在后台的输入界面中需要将输入的文章归档,这时需要输入文章所属类型。当类型数目巨大时,即使是熟悉所有类型的人员,在操作中也容易错输、误输。而且在数据库中一旦查不到这个输入值的话,就会自动增加一个新的类型。
这就需要在输入的时候有个备用查询,并且还能够自动输入。这样可以减轻录入人员的工作量,同时减少错输、误输的几率。
针对这种出现次数较多而且这项功能可以通用到其他众多模块,因此添加了这个模拟功能。
材料:
表单域 (form_name)
文本框 (textfield_name)
下拉列表框 (select_name)
思路:
1)在文本框中可以输入数值;同时又可以从列表中选择已经存在的备用值
2)需要将下拉列表框中选中的值传给文本框,并显示出来
3)动态改变文本框和下拉列表框的宽度,以满足输入和选择之间的需求方式
效果:
车仔手札
蓝色经典
织梦地带
联盟论坛
无忧脚本
( 可以手动输入,也可以自动选择输入 )
代码:
自定义函数:ShowToText (将列表项中的值传递给文本框)
function ShowToText(){
document.form_name.textfield_name.value=document.form_name.select_name.options[document.form_name.select_name.selectedIndex].value
}
自定义函数:ChangeWidth (动态改变文本框和下拉框的宽度,num为状态切换的判断参数)
function ChangeWidth(num){
if (num==1){
eval(document.form_name.textfield_name.style.width=0);
eval(document.form_name.select_name.style.width=180);}
else {
eval(document.form_name.textfield_name.style.width=160);
eval(document.form_name.select_name.style.width=20);}
}
表单源码
<form name="form_name"
>
<input type="text" name="textfield_name"
style="width: 160" >
<select name="select_name"
style="width:20" onChange="ShowToText();ChangeWidth(2)"
onMouseMove="ChangeWidth(1)" onBlur="ChangeWidth(2)"
>
<option value="车仔手札"> 车仔手札 </option>
<option value="蓝色经典"> 蓝色经典 </option>
<option value="织梦地带"> 织梦地带 </option>
<option value="联盟论坛"> 联盟论坛 </option>
<option value="无忧脚本"> 无忧脚本 </option>
</form>
后记:
我在这里只作出了一个能够完成功能的雏形,在动态转换的时候还是有偏移,另一个就是文本框和下拉框之间的间隙太大,我通过样式表控制后情况也还存在。
有哪位高手知道如何修进的话,请一定通知我。