web开发(脚本和动态语言) 编辑 下拉列表 select控件 可编辑
2007-09-18 08:54
531 查看
<html>
<head>
<title> Select控件可编辑 </title>
<script>
function sltChg(o){
if(o.options[o.selectedIndex].text == "新增..."){
var newObj = document.createElement("<input type='text' style='width:100px' name='"+o.name+"'>")
newObj.ondblclick = function(){ //双击回到select控件状态
var selectObj = genSelectObject(o.name);
this.insertAdjacentElement("afterEnd",selectObj);
this.parentNode.removeChild(this);
}
o.insertAdjacentElement("afterEnd",newObj);
o.parentNode.removeChild(o);
newObj.focus();
}
}
function genSelectObject(strName){
//此处可采取更灵活的方式写
//如可采用xmlhttp从后台传回。这样可实现select控件的实时更新,将新增项目增加进select的option
var obj = document.createElement("<select name='"+strName+"'>");
obj.style.width = "100px";
obj.onchange = function(){sltChg(this);};
var opt = new Option("","");
obj.add(opt);
opt = new Option("甲乙丙","1");
obj.add(opt);
opt = new Option("ABC","2");
obj.add(opt);
opt = new Option("一二三","3");
obj.add(opt);
opt = new Option("新增...","") //选择此项进入input控件状态
obj.add(opt);
return obj;
}
</script>
</head>
<body>
<table border="1">
<tr><td width="100px">
<select name="slt" style="width:100px" onchange="sltChg(this)">
<option></option>
<option value="1">甲乙丙</option>
<option value="2">ABC</option>
<option value="3">一二三</option>
<option>新增...</option>
</select>
</td><td width="100px">
<select name="slt" style="width:100px" onchange="sltChg(this)">
<option></option>
<option value="1">甲乙丙</option>
<option value="2">ABC</option>
<option value="3">一二三</option>
<option>新增...</option>
</select>
</td></tr>
</table>
</body>
</html>
拷贝后直接运行可见效果。不支持FF
不能绑定数据
<head>
<title> Select控件可编辑 </title>
<script>
function sltChg(o){
if(o.options[o.selectedIndex].text == "新增..."){
var newObj = document.createElement("<input type='text' style='width:100px' name='"+o.name+"'>")
newObj.ondblclick = function(){ //双击回到select控件状态
var selectObj = genSelectObject(o.name);
this.insertAdjacentElement("afterEnd",selectObj);
this.parentNode.removeChild(this);
}
o.insertAdjacentElement("afterEnd",newObj);
o.parentNode.removeChild(o);
newObj.focus();
}
}
function genSelectObject(strName){
//此处可采取更灵活的方式写
//如可采用xmlhttp从后台传回。这样可实现select控件的实时更新,将新增项目增加进select的option
var obj = document.createElement("<select name='"+strName+"'>");
obj.style.width = "100px";
obj.onchange = function(){sltChg(this);};
var opt = new Option("","");
obj.add(opt);
opt = new Option("甲乙丙","1");
obj.add(opt);
opt = new Option("ABC","2");
obj.add(opt);
opt = new Option("一二三","3");
obj.add(opt);
opt = new Option("新增...","") //选择此项进入input控件状态
obj.add(opt);
return obj;
}
</script>
</head>
<body>
<table border="1">
<tr><td width="100px">
<select name="slt" style="width:100px" onchange="sltChg(this)">
<option></option>
<option value="1">甲乙丙</option>
<option value="2">ABC</option>
<option value="3">一二三</option>
<option>新增...</option>
</select>
</td><td width="100px">
<select name="slt" style="width:100px" onchange="sltChg(this)">
<option></option>
<option value="1">甲乙丙</option>
<option value="2">ABC</option>
<option value="3">一二三</option>
<option>新增...</option>
</select>
</td></tr>
</table>
</body>
</html>
拷贝后直接运行可见效果。不支持FF
不能绑定数据
相关文章推荐
- bootstrap selectpicker控件select下拉框动态数据无法回显的问题 && 不可编辑的下拉框数据提交至后台
- 可编辑Select下拉列表控件实现方法(非DIV模拟)
- select 控件编辑 动态生成 下拉列表框
- JavaScript解析Json实现动态修改多级下拉选择列表控件Select
- AngularJS下拉列表select在option动态变化之后多出了一个错误项的问题
- 使用js实现一个可编辑的select下拉列表
- web开发 web开发(脚本和动态语言) 电子签名 active CSDN 推荐tag:win32 dll pcpos 证书 文件
- 下拉列表select中使用ajax的json数据交换格式动态改变div层里面的复选框checkbox值
- 用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS)
- jQuery实现动态显示select下拉列表数据的方法
- 动态给select下拉列表添加选项option
- web开发(脚本和动态语言) 经典正则表达式
- MFC List Control 控件添加单元格编辑和单元格下拉列表项
- web开发(脚本和动态语言)
- 使用js实现一个可编辑的select下拉列表
- gridview 中编辑状态为下拉列表控件
- 下拉列表select动态初始化 (JSP页面)
- web开发(脚本和动态语言) 静态页面 msxml 多国语言
- html+js+PHP(使用了smarty模板技术)+mysql实现二级动态下拉列表(select)
- select下拉列表, 从数据库查询,动态添加选项option