社区
Web 开发
帖子详情
重新开帖问:如何让下拉框可以输入?
joyceme
2006-03-15 09:24:16
昨天一个大侠给了一个办法,在我这边没有解决问题
唉,再请大家指点!
如何让一个下拉框又可以选又可以自己输入?
...全文
437
8
打赏
收藏
重新开帖问:如何让下拉框可以输入?
昨天一个大侠给了一个办法,在我这边没有解决问题 唉,再请大家指点! 如何让一个下拉框又可以选又可以自己输入?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
crazy_he
2006-03-15
打赏
举报
回复
<html>
<head><title>EditableListBox</title>
</head>
<body>
<select name="select" id="select" size="1" style="position:absolute; left: 10px; top: 10px; width: 120px; height: 20px; clip: rect(0 120 21 100)" onchange="textfield.value=select.value;textfield.select()">
<option value="aaaaaaaa">aaaaaaaa</option>
<option value="bbbbbbbb">bbbbbbbb</option>
<option value="cccccccc">cccccccc</option>
<option value="dddddddd">dddddddd</option>
<option value="eeeeeeee">eeeeeeee</option>
<option value="ffffffff">ffffffff</option>
</select><input type="text" style="position:absolute; left: 10px; top: 10px; width: 102px; height: 21px" name="textfield">
</body>
</html>
joyceme
2006-03-15
打赏
举报
回复
<td>
<div style="position:relative;">
<span style="margin-left:100px;width:18px;overflow:hidden;">
<select style="width:118px;margin-left:-100px" onchange="this.parentNode.nextSibling.value=this.value">
<% res = fd.getPublisher();
it = res.iterator();
while (it.hasNext()){
WordLiterTypeInfo temp = (WordLiterTypeInfo)it.next();
strChnName = temp.getChnName();
out.println("<option value="+strChnName+">"+strChnName+"</option>");
}
%>
</select>
</span>
<input name="box" style="width:100px;position:absolute;left:0px;">
</div>
</td>
贴上我引用这段代码的代码,唉,大侠帮我看看有没有什么问题?还是不能实现。
joyceme
2006-03-15
打赏
举报
回复
发现了,呵呵,好像我的浏览器禁用了一些东西
joyceme
2006-03-15
打赏
举报
回复
rmouse大侠:你给的这两段代码,第一段可以实现输入了,但是下拉框就不能选了,可以点击但是点完之后内容不会出现在下拉框中;第二段我试了试,还是不能输入啊:(
是不是有什么要注意的我没有注意到?
请指点!
rmouse_2005
2006-03-15
打赏
举报
回复
再来一个
<script>
function pp(){
ye.options[2]=new Option(ok=(ye.options[2])?ye.options[2].innerText+String.fromCharCode(event.keyCode):String.fromCharCode(event.keyCode),"client")
ye.selectedIndex=2;
}
function edit(){
if(ye.options[2]){
if(event.keyCode==8){
var str=ye.options[2].innerText;
var len=str.length;
ye.options[2].innerText=str.substring(0,len-1);
if(ye.options[2].innerText=="")ye.remove(2);
}
if(event.keyCode==13)return false;
if(event.keyCode==32){
ye.options[2].innerText+=" ";
}
}
}
</script>
<select id=ye onkeypress=pp() onkeyup="edit()">
<option>测试程序
<option>javascript
</select>
rmouse_2005
2006-03-15
打赏
举报
回复
<HTML>
<HEAD>
<META http-equiv='Content-Type' content='text/html; charset=gb2312'>
<TITLE>可输入的下拉框</TITLE>
</HEAD>
<BODY >
<div style="position:relative;">
<span style="margin-left:100px;width:18px;overflow:hidden;">
<select style="width:118px;margin-left:-100px" onchange="this.parentNode.nextSibling.value=this.value">
<option value="www.bbsou.com"> WebASP </option>
<option value="www.eWebSoft.com"> eWebSoft </option>
<option value="WEB开发者"> WEB开发者 </option>
</select></span><input name="box" style="width:100px;position:absolute;left:0px;">
</div>
</BODY></HTML>
呵呵,这个简单一点
grapepaul
2006-03-15
打赏
举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript" src="combox.js"></script>
</HEAD>
<BODY>
<table border="1" style="border-collapse:collapse ">
<tr>
<td width="300"><select name=test1>
<option value="可编辑下拉框1" selected>可编辑下拉框1</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<INPUT TYPE="button" value="获取编辑框1的值" onclick="alert(document.getElementById('username').value)">
</td>
<td width="109"><select name=test2>
<option value="可编辑下拉框2">可编辑下拉框25555555</option>
<option value="1">4</option>
<option value="2" selected>5</option>
<option value="3">6</option>
</select>
</td>
<td width="343">
<INPUT TYPE="button" value="获取编辑框2的值" onclick="alert(document.getElementById('password').value)">
</td>
</tr>
</table>
<script language="javascript">
var a=new combox("username","test1");
//参数1为新生成输入框的名称
//参数2为原来的select对象名称
a.init(a);
var b=new combox("password","test2");
b.init(b);
function combox(_inpuObjName,_controlSelectName)
{
//生成的输入框对象名称
this.inpuObjName=_inpuObjName;
//生成的输入框对象
this.inputbox=null;
//原来的下拉框对象
this.controlSelect=document.getElementById(_controlSelectName);
//初始化对象
//_comboxObj:combox对象,须指向自己
this.init=function(_comboxObj)
{
this.inputbox=document.createElement("input");
this.inputbox.id=this.inpuObjName;
this.inputbox.comboxObj=_comboxObj;
this.inputbox.onchange=function()
{
this.comboxObj.find();
}
with(this.inputbox.style)
{
width=this.controlSelect.offsetWidth-16;
height=this.controlSelect.offsetHeight;
}
this.controlSelect.insertAdjacentElement("beforeBegin",this.inputbox);
_span=document.createElement("span");
_span.style.width=18;
this.controlSelect.insertAdjacentElement("beforeBegin",_span);
_span.appendChild(this.controlSelect);
_container=document.createElement("span");
this.inputbox.insertAdjacentElement("beforeBegin",_container);
_container.appendChild(this.inputbox);
_container.appendChild(_span);
_container.style.width=this.inputbox.offsetWidth+18;
_width=this.controlSelect.offsetWidth-18;
with (this.controlSelect.style)
{
margin="0 0 0 -"+_width;
}
this.controlSelect.comboxObj=_comboxObj;
this.controlSelect.onchange=function()
{
this.comboxObj.change();
}
this.change();
}
//当搜索到输入框的值时,下拉框自动定位/
this.find=function()
{
with (this.controlSelect)
{
for(i=0;i<options.length;i++)
if(options[i].text.indexOf(this.inputbox.value)==0)
{
selectedIndex=i;
this.change();
break;
}
}
}
//定义下拉框的onchange事件
this.change=function()
{
this.inputbox.value=this.controlSelect.options[this.controlSelect.selectedIndex].text;
with (this.inputbox)
{
select();
focus();
}
}
}
/**
* 定位函数,获取控件绝对坐标
*/
function getLeftPos(e)
{
var left=e.offsetLeft;
while (e=e.offsetParent)
{
left+=e.offsetLeft;
}
return left;
}
function getTopPos(e)
{
var top=e.offsetTop;
while (e=e.offsetParent)
{
top+=e.offsetTop;
}
return top;
}
</script>
</BODY>
</HTML>
eidolon_warrior
2006-03-15
打赏
举报
回复
下拉框不可以输入
用DHTML写一个用text和div模拟的Combo Box
MCP协议安全实战:从命令注入到容器隔离的AI应用防护体系
在AI应用开发中,模型上下文协议(MCP)作为连接大语言模型与外部工具的核心基础设施,其安全性至关重要。协议本身通过标准化接口提升了工具集成的效率,但同时也引入了新的攻击面,如命令注入和工具元数据中毒等风险。这些漏洞可能让AI助手在不知情的情况下执行恶意操作,威胁系统安全。从技术价值看,构建纵深防御体系不仅能保护AI应用免受攻击,更是确保AI能力在可控范围内释放价值的关键。在实际应用场景中,无论是开发智能代码助手还是部署企业级AI代理,都需要从协议实现、代码加固、客户端监控到容器隔离等多个层面实施防护策略。
都2024年了,你还不知道b站的宝藏up主?
Web 开发包括前端开发:最基本的(HTML、CSS 和 JavaScript)以及最现代的框架(React、Vue、Angular)。它还包括后端开发,如 Node.js、GraphQL、SQL 和更基本的内容,如 DNS、URL 和部署。在本节中,你可以找到教授游戏引擎(Unity、虚幻引擎等)、不同编程语言(JavaScript、HTML5、Java)和设计创作、3D 建模等主题的 up 主。内容类型:Vue、React、Nuxt、Flutter、TypeScript、Docker。
证书信任库(ca-bundle)原理与实战:HTTPS安全通信的基石
数字证书与CA(证书颁发机构)是构建现代互联网HTTPS安全通信的信任基石。其核心原理基于公钥基础设施(PKI),通过非对称加密和数字签名技术,确保网络通信中身份的真实性与数据的完整性。这一机制的技术价值在于为客户端与服务端建立可信的加密通道,防止中间人攻击和数据窃取。在实际工程实践中,证书信任库(ca-bundle)作为存储受信任根证书和中间证书的集合文件,成为各类应用验证服务器证书合法性的关键依赖。在Docker容器化部署、跨平台应用开发、离线环境服务等场景中,如何可靠地获取、管理和更新证书信任库,直接
Qwen2.5-VL 7B本地部署实战:Ollama+国内镜像快速实现发票结构化识别
视觉语言模型(VLM)是实现文档智能解析的核心技术,其原理在于通过视觉编码器与语言解码器的跨模态对齐,将图像信息转化为结构化文本。Qwen2.5-VL 7B作为轻量级多模态大模型,在7B参数规模下兼顾精度、速度与显存效率,技术价值突出体现在低门槛本地部署和鲁棒性布局理解能力。典型应用场景包括发票、合同、报表等OCR+语义提取任务,尤其适合边缘设备与消费级GPU环境。本文聚焦Ollama工具链下的端到端落地实践,涵盖国内镜像加速、RTX 4060显存适配、JSON Schema提示工程等关键环节,解决‘本地跑
Windows本地部署DeepSeek个人知识库:Ollama+Cherry Studio零命令行实战
个人知识库(Personal Knowledge Base)是基于RAG(检索增强生成)技术构建的本地化AI工作流,其核心原理是将私有文档切片、向量化并存入本地向量数据库,再通过大模型实现语义检索与智能生成。该方案的技术价值在于摆脱网络依赖、保障数据主权、支持离线推理,并天然适配法律、教育、工程等强文本场景。典型应用包括合同条款秒级定位、教学大纲智能关联、设计规范自动解读等。本文聚焦Windows平台落地瓶颈,深度整合Ollama模型运行时与Cherry Studio前端能力,解决‘ollama下载慢’‘c
Web 开发
81,110
社区成员
341,727
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章