- 浏览: 283435 次
- 性别:
- 来自: 东方水城
-
文章分类
最新评论
-
18335864773:
pageoffice 插件 可以实现 office文档的在线操 ...
Java调用com组件操作word -
coosummer:
推荐使用在线免费bug管理系统- bug 禅思:http:// ...
Bug管理工具 -
program_coco:
柠檬bug管理系统,一个在线的bug管理系统。www.lemo ...
Bug管理工具 -
影非弦:
这个in.read(data);//data是一个byte[] ...
Java串口通信总结 -
影非弦:
这个不详细啊,我弄了一天了,都没弄出来,总是出错,读信息的时候 ...
Java串口通信总结
当select下拉框中没有要选择的信息项时,可以直接在select中输入自己想要得信息项。
在输入信息项时,不改变select下拉框中原有的信息项。
通过Backspace键可以清除刚才输入的信息项,以便重新输入。如果不清除,再输入信息时,会在原来输入的基础之上继续添加信息。如:原来手动输入信息是111,如果不清除再输入222时,信息项就变成111222
<html> <head> <title>可输入的select下拉框</title> </head> <script> </script> <body > <select style='width:150px;z-index:-1' id="aa" name="selectHelpCode" onkeydown="if(event.keyCode == 8){this.options[0].text = '';}" onkeypress="writeSelect(this)"> <option value=""></option> <option value="11">11</option> <option value="22">22</option> <option value="33">33</option> </select> <input type="button" value="点我" onclick="ttt();"/> <script> function writeSelect(obj){ obj.options[0].selected = "select"; obj.options[0].text = obj.options[0].text + String.fromCharCode(event.keyCode); event.returnValue=false; return obj.options[0].text; } function ttt(){ var ss = document.getElementById("aa").value; var jg = ""; if(ss == ""){ var aas = writeSelect(document.getElementById("aa")); jg = aas; }else{ jg = document.getElementById("aa").value; } alert(jg); } </script> </body> </html>
代码只是为了展示select下拉框可输入情况,具体一些细节方面,有待完善。
评论
11 楼
clone168
2009-08-23
<p> </p>
<div class="quote_title">clone168</div>
<div class="quote_div">输入的时候,先触发keydown然后再触发keypress</div>
<p>
所以那个函数执行了两次,也就是不仅仅是IE下的问题了</p>
<div class="quote_title">clone168</div>
<div class="quote_div">输入的时候,先触发keydown然后再触发keypress</div>
<p>
所以那个函数执行了两次,也就是不仅仅是IE下的问题了</p>
10 楼
jianguang_qq
2009-08-23
我靠,没看到“ie有输入双字符的问题,修改中。。。”这几个字吗
9 楼
clone168
2009-08-23
<div class="quote_title">jianguang_qq 写道</div>
<div class="quote_div">
<p>再化简下代码:</p>
<pre name="code" class="js"><body >
<select id="select" onkeydown="selectWrite(this,event)" onkeypress="selectWrite(this,event)">
<option value=""></option>
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
</select>
<input type="button" value="点我" id="test" onclick="test();"/>
<script>
function selectWrite(obj,e){
var opt = obj.options[0];
opt.selected = "selected";
if((e.keyCode||e.charCode) ==
{
opt.text = opt.value = opt.value.substring(0, opt.value.length>0?opt.value.length-1:0);
}else{
opt.text = opt.value += String.fromCharCode(e.charCode||e.keyCode);
}
}
function test(){
alert(document.getElementById("select").value);
}
</script>
</body></pre>
<p> 支持逐个删除。中文支持上还有点问题,有待再优化,ie有输入双字符的问题,修改中。。。</p>
</div>
<p>不过貌似还是存在一点bug,输入的时候存在问题,输入的时候,先触发<span style="">keydown然后再触发keypress</span></p>
<div class="quote_div">
<p>再化简下代码:</p>
<pre name="code" class="js"><body >
<select id="select" onkeydown="selectWrite(this,event)" onkeypress="selectWrite(this,event)">
<option value=""></option>
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
</select>
<input type="button" value="点我" id="test" onclick="test();"/>
<script>
function selectWrite(obj,e){
var opt = obj.options[0];
opt.selected = "selected";
if((e.keyCode||e.charCode) ==

opt.text = opt.value = opt.value.substring(0, opt.value.length>0?opt.value.length-1:0);
}else{
opt.text = opt.value += String.fromCharCode(e.charCode||e.keyCode);
}
}
function test(){
alert(document.getElementById("select").value);
}
</script>
</body></pre>
<p> 支持逐个删除。中文支持上还有点问题,有待再优化,ie有输入双字符的问题,修改中。。。</p>
</div>
<p>不过貌似还是存在一点bug,输入的时候存在问题,输入的时候,先触发<span style="">keydown然后再触发keypress</span></p>
8 楼
clone168
2009-08-23
<div class="quote_title">jianguang_qq 写道</div>
<div class="quote_div">
<div class="quote_title">clone168 写道</div>
<div class="quote_div">
<p>test函数不存在,<img src="/images/smiles/icon_wink.gif" alt=""></p>
<p>清除的那个函数在IE中只是把text清除了,点击按钮弹出的还是value,还是会显示出来</p>
<p>而在firefox中则出现了连text都不会清除的情况,而且,把select下拉的时候还能看到里面新增了乱码</p>
</div>
<p><br>你回复的真快,我正在修改呢。请再看上面修改后的。</p>
</div>
<p>嗯,呵呵,我正在看你的最新版,不错<img src="/images/smiles/icon_idea.gif" alt=""></p>
<div class="quote_div">
<div class="quote_title">clone168 写道</div>
<div class="quote_div">
<p>test函数不存在,<img src="/images/smiles/icon_wink.gif" alt=""></p>
<p>清除的那个函数在IE中只是把text清除了,点击按钮弹出的还是value,还是会显示出来</p>
<p>而在firefox中则出现了连text都不会清除的情况,而且,把select下拉的时候还能看到里面新增了乱码</p>
</div>
<p><br>你回复的真快,我正在修改呢。请再看上面修改后的。</p>
</div>
<p>嗯,呵呵,我正在看你的最新版,不错<img src="/images/smiles/icon_idea.gif" alt=""></p>
7 楼
jianguang_qq
2009-08-23
<div class="quote_title">clone168 写道</div>
<div class="quote_div">
<p>test函数不存在,<img src="/images/smiles/icon_wink.gif" alt=""></p>
<p>清除的那个函数在IE中只是把text清除了,点击按钮弹出的还是value,还是会显示出来</p>
<p>而在firefox中则出现了连text都不会清除的情况,而且,把select下拉的时候还能看到里面新增了乱码</p>
</div>
<p><br>你回复的真快,我正在修改呢。请再看上面修改后的。</p>
<div class="quote_div">
<p>test函数不存在,<img src="/images/smiles/icon_wink.gif" alt=""></p>
<p>清除的那个函数在IE中只是把text清除了,点击按钮弹出的还是value,还是会显示出来</p>
<p>而在firefox中则出现了连text都不会清除的情况,而且,把select下拉的时候还能看到里面新增了乱码</p>
</div>
<p><br>你回复的真快,我正在修改呢。请再看上面修改后的。</p>
6 楼
clone168
2009-08-23
<div class="quote_title">jianguang_qq 写道</div>
<div class="quote_div">
<p>再化简下代码:</p>
<pre name="code" class="js"><select style='width:150px;z-index:-1' id="aa" name="selectHelpCode" onkeydown="if(event.keyCode ==
{this.options[0].text = '';}" onkeypress="writeSelect(this,event)">
<option value=""></option>
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
</select>
<input type="button" value="点我" id="test" onclick="test();"/>
<script>
function writeSelect(obj,e){
opt = obj.options[0];
opt.selected = "selected";
opt.text = opt.value += String.fromCharCode(e.charCode||e.keyCode);
}
function ttt(){
alert(document.getElementById("aa").value);
}
</script></pre>
<p> 只优化了两个函数实现,命名、html等我就不优化了,知道lz也是为了测试随便写的</p>
</div>
<p>test函数不存在,<img src="/images/smiles/icon_wink.gif" alt=""></p>
<p>清除的那个函数在IE中只是把text清除了,点击按钮弹出的还是value,还是会显示出来</p>
<p>而在firefox中则出现了连text都不会清除的情况,而且,把select下拉的时候还能看到里面新增了乱码</p>
<div class="quote_div">
<p>再化简下代码:</p>
<pre name="code" class="js"><select style='width:150px;z-index:-1' id="aa" name="selectHelpCode" onkeydown="if(event.keyCode ==

<option value=""></option>
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
</select>
<input type="button" value="点我" id="test" onclick="test();"/>
<script>
function writeSelect(obj,e){
opt = obj.options[0];
opt.selected = "selected";
opt.text = opt.value += String.fromCharCode(e.charCode||e.keyCode);
}
function ttt(){
alert(document.getElementById("aa").value);
}
</script></pre>
<p> 只优化了两个函数实现,命名、html等我就不优化了,知道lz也是为了测试随便写的</p>
</div>
<p>test函数不存在,<img src="/images/smiles/icon_wink.gif" alt=""></p>
<p>清除的那个函数在IE中只是把text清除了,点击按钮弹出的还是value,还是会显示出来</p>
<p>而在firefox中则出现了连text都不会清除的情况,而且,把select下拉的时候还能看到里面新增了乱码</p>
5 楼
clone168
2009-08-23
<p>
</p>
<pre name="code" class="html"><select style='width:150px;z-index:-1' id="aa" name="selectHelpCode" onkeydown="clearOption(this,event)" onkeypress="writeSelect(this,event)">
<option value=""></option>
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
</select>
<input type="button" value="点我" onclick="ttt();"/></pre>
<pre name="code" class="js">function clearOption(obj,e){
var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;
if(currKey ==
{
obj.options[0].text = "";
}
}
function writeSelect(obj,e){
var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;
obj.options[0].selected = "select";
if(currKey !=
{//这个地方是为了避免在firefox又出现令人厌烦的乱码,可以试试注释这句话,看看在firefox的效果
obj.options[0].text = obj.options[0].text + String.fromCharCode(currKey);
}
e.returnValue=false;
return obj.options[0].text;
}
function ttt(){
var jg = document.getElementById("aa").options[document.getElementById("aa").selectedIndex].text;
//当然也可以在前面的writeSelect函数里面同时设置options的value,这样的话,直接可以在该程序里面用value取出
alert(jg);
}
</pre>
<p>
仅仅是在原来的基础上修改,包括命名都没有考虑,甚至函数的个数都没有改变<img src="/images/smiles/icon_biggrin.gif" alt=""></p>
<p> 当然这里还可以优化,两个函数有一部分是相同的,其实可以再封装一次,方便以后调用,楼主可以试试,呵呵</p>
</p>
<pre name="code" class="html"><select style='width:150px;z-index:-1' id="aa" name="selectHelpCode" onkeydown="clearOption(this,event)" onkeypress="writeSelect(this,event)">
<option value=""></option>
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
</select>
<input type="button" value="点我" onclick="ttt();"/></pre>
<pre name="code" class="js">function clearOption(obj,e){
var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;
if(currKey ==

obj.options[0].text = "";
}
}
function writeSelect(obj,e){
var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;
obj.options[0].selected = "select";
if(currKey !=

obj.options[0].text = obj.options[0].text + String.fromCharCode(currKey);
}
e.returnValue=false;
return obj.options[0].text;
}
function ttt(){
var jg = document.getElementById("aa").options[document.getElementById("aa").selectedIndex].text;
//当然也可以在前面的writeSelect函数里面同时设置options的value,这样的话,直接可以在该程序里面用value取出
alert(jg);
}
</pre>
<p>
仅仅是在原来的基础上修改,包括命名都没有考虑,甚至函数的个数都没有改变<img src="/images/smiles/icon_biggrin.gif" alt=""></p>
<p> 当然这里还可以优化,两个函数有一部分是相同的,其实可以再封装一次,方便以后调用,楼主可以试试,呵呵</p>
4 楼
jianguang_qq
2009-08-23
<p>再化简下代码:</p>
<pre name="code" class="js"><select id="select" onkeydown="Select.del(this,event)" onkeypress="Select.write(this,event)">
<option value=""></option>
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
</select>
<input type="button" value="点我" id="test" onclick="test();"/>
<script>
var Select = {
del : function(obj,e){
if((e.keyCode||e.which||e.charCode) ==
{
var opt = obj.options[0];
opt.text = opt.value = opt.value.substring(0, opt.value.length>0?opt.value.length-1:0);
}
},
write : function(obj,e){
if((e.keyCode||e.which||e.charCode) ==
return ;
var opt = obj.options[0];
opt.selected = "selected";
opt.text = opt.value += String.fromCharCode(e.charCode||e.which||e.keyCode);
}
}
function test(){
alert(document.getElementById("select").value);
}
</script></pre>
<p> 支持逐个删除。ff中文支持上还有点问题,有待再优化。</p>
<p> </p>
<p>该死的ie 和ff事件兼容性问题。</p>
<p>楼主例子很不错,让我在优化过程中学到了,好些东西。一会儿总结一下。</p>
<pre name="code" class="js"><select id="select" onkeydown="Select.del(this,event)" onkeypress="Select.write(this,event)">
<option value=""></option>
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
</select>
<input type="button" value="点我" id="test" onclick="test();"/>
<script>
var Select = {
del : function(obj,e){
if((e.keyCode||e.which||e.charCode) ==

var opt = obj.options[0];
opt.text = opt.value = opt.value.substring(0, opt.value.length>0?opt.value.length-1:0);
}
},
write : function(obj,e){
if((e.keyCode||e.which||e.charCode) ==

var opt = obj.options[0];
opt.selected = "selected";
opt.text = opt.value += String.fromCharCode(e.charCode||e.which||e.keyCode);
}
}
function test(){
alert(document.getElementById("select").value);
}
</script></pre>
<p> 支持逐个删除。ff中文支持上还有点问题,有待再优化。</p>
<p> </p>
<p>该死的ie 和ff事件兼容性问题。</p>
<p>楼主例子很不错,让我在优化过程中学到了,好些东西。一会儿总结一下。</p>
3 楼
jianguang_qq
2009-08-23
作者创意不错,赞一个
!!!
onkeypress="writeSelect(this)" 改成 onkeypress="writeSelect(this,event)";
function writeSelect(obj) 改成 function writeSelect(obj,event)
String.fromCharCode(event.keyCode) 改成 String.fromCharCode(event.charCode||event.keyCode)
就支持ff了。
可惜ff下不支持中文,囧,去查查原因。

onkeypress="writeSelect(this)" 改成 onkeypress="writeSelect(this,event)";
function writeSelect(obj) 改成 function writeSelect(obj,event)
String.fromCharCode(event.keyCode) 改成 String.fromCharCode(event.charCode||event.keyCode)
就支持ff了。
可惜ff下不支持中文,囧,去查查原因。
2 楼
clone168
2009-08-23
又是一个不支持firefox的程序~~~
1 楼
fhyfufangyu
2009-07-27
backspace 没有用啊?
发表评论
-
Highcharts使用指南
2013-08-29 10:49 1406摘要 Highcharts图表控件是目前使用最为广泛的图 ... -
JS多级联动
2010-11-22 10:02 1255<!DOCTYPE HTML PUBLIC " ... -
window.open()代替window.showModalDialog()问题
2009-11-25 10:15 2696最近在做一个项目,需要用到弹出一个子窗口(sub. ... -
JavaScript EE:在服务器端运行JavaScript文件
2009-01-15 16:13 1453本系列文章围绕的主旨是了解如何在 Ajax 和 ... -
悟透JavaScript(结)
2008-12-18 11:09 899原型扩展 想必 ... -
悟透JavaScript(续)
2008-12-18 11:07 955构造对象 好了,接下我们来讨论一下对象的另一种创 ... -
悟透JavaScript
2008-12-18 11:06 894引子 编程世界里只存在两种基本元素,一个是数 ... -
你不知道的 JavaScript - “this”
2008-12-18 11:03 919JavaScript 里的 this 到底指得是什么?很多 ... -
JS日期操作
2008-12-18 10:17 1576时间对象是一个我们经常要用到的对象,无论是做时间输出、时间判断 ... -
event.keycode值大全
2008-12-17 17:29 5398event.keycode值大全,方便自己和大家以后查阅: ... -
document.createElement("input")动态创建html元素时checkbox
2008-12-17 17:27 3895最近研究createElement的时候发现一个奇怪的问题 ... -
Js对中文字符串加密
2008-12-17 14:00 2287function urlencode(text) { ... -
JavaScript的document和window对象详解
2008-12-17 13:53 1303[document对象 ] 该对 ... -
简单js分页效果
2008-12-17 13:41 2761写了这个js让我彻底喜欢上全局变量,在这个例子中所有的内容都是 ... -
JS实现图片切割效果(带拖放、缩放效果)
2008-12-16 14:40 3175<!DOCTYPE html PUBLIC " ... -
JS + DIV ===> 精美alert提示框
2008-12-16 14:32 5417如果*.js出现乱码现象,可以把该*.js文件用记事本打开,然 ...
相关推荐
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
《基于YOLOv8的智慧社区独居老人生命体征监测系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
Android Studio Meerkat 2024.3.1 Patch 1(android-studio-2024.3.1.14-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/90557060 part2: https://download.csdn.net/download/weixin_43800734/90557056
侧轴承杯加工工艺编制及夹具设计.zip
NASA数据集锂电池容量特征提取(Matlab完整源码和数据) 作者介绍:机器学习之心,博客专家认证,机器学习领域创作者,2023博客之星TOP50,主做机器学习和深度学习时序、回归、分类、聚类和降维等程序设计和案例分析,文章底部有博主联系方式。从事Matlab、Python算法仿真工作8年,更多仿真源码、数据集定制私信。
板料折弯机液压系统设计.zip
C6150车床的设计.zip
机器学习之KNN实现手写数字
python爬虫;智能切换策略,反爬检测机制
mpls-vpn-optionA-all
56tgyhujikolp[
GB 6442-86企业职工伤亡事故调查分析规则.pdf
汽车液压式主动悬架系统的设计().zip
2000-2024年各省专利侵权案件结案数数据 1、时间:2000-2024年 2、来源:国家知识产权J 3、指标:专利侵权案件结案数 4、范围:31省 5、用途:可用于衡量知识产权保护水平
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
内容概要:本文档详细复现了金融数学课程作业,涵盖欧式看涨期权定价和投资组合优化两大部分。对于欧式看涨期权定价,分别采用Black-Scholes模型和蒙特卡洛方法进行了计算,并对彩虹期权进行了基于最大值的看涨期权定价。投资组合优化部分则探讨了最小方差组合、给定收益的最小方差组合、最大效用组合以及给定风险的最大收益组合四种情形,还对比了拉格朗日乘数法和二次规划求解器两种方法。文中不仅提供了详细的MATLAB代码,还有详尽的中文解释,确保每一步骤清晰明了。 适合人群:金融工程专业学生、量化分析师、金融数学爱好者。 使用场景及目标:①帮助学生理解和掌握金融衍生品定价的基本原理和方法;②为从事量化分析的专业人士提供实用工具和技术支持;③作为教学材料辅助高校教师讲授相关内容。 其他说明:文档还包括了完整的论文结构建议,从封面页到结论,再到附录,涵盖了所有必要元素,确保提交的作业符合学术规范。此外,还特别强调了数据预处理步骤,确保代码可以顺利运行。
脉冲电解射流加工喷射装置设计(1)
ThinkPad S1 (2nd Generation) 和ThinkPad Yoga 260 用户指南V3.0,包含如何拆机更换硬件
charles描述文件下载
python代码-使用人类对话数据集lora微调deepseek