简单模拟下拉组合框
简单模拟下拉组合框
简单模拟下拉组合框
-- 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>
后记: 我在这里只作出了一个能够完成功能的雏形,在动态转换的时候还是有偏移,另一个就是文本框和下拉框之间的间隙太大,我通过样式表控制后情况也还存在。
有哪位高手知道如何修进的话,请一定通知我。