通过点击切换文本框内容的脚本示例

    定义一个字符串为内容的数组,每一行的多个文本框为一组,要求点击切换内容,且内容不重复.

 

代码
 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2 <html>
 3  <head>
 4   <title> New Document </title>
 5   <script>
 6 var lastRowIndex=0;//上次变化行号
 7 var opt;
 8 var idPrefix="ToToChoiceOrder";
 9 function changeOrder(r,c)
10 {
11   var optTmp=new Array();
12   opt=['A','B','C','D'];
13   if(1==c){
14     //如果点击的是首,要清空次末,记录首现在的值
15     document.getElementById(idPrefix+r+eval(c+1)).value="";
16     document.getElementById(idPrefix+r+eval(c+2)).value="";
17     optTmp.unshift(document.getElementById(idPrefix+r+c).value);
18   }
19   else if(2==c){
20     //如果点击的是次,要清空末,记录首次现在的值
21     document.getElementById(idPrefix+r+eval(c+1)).value="";
22     optTmp.unshift(document.getElementById(idPrefix+r+eval(c-1)).value);
23     optTmp.unshift(document.getElementById(idPrefix+r+c).value);
24   }
25   else if(3==c){
26     //如果点击的是末,记录首次末现在的值
27     optTmp.unshift(document.getElementById(idPrefix+r+eval(c-2)).value);
28     optTmp.unshift(document.getElementById(idPrefix+r+eval(c-1)).value);
29       optTmp.unshift(document.getElementById(idPrefix+r+c).value);
30   }
31   //alert("现在已有的选项是"+optTmp); 
32   tmp=optTmp.join();
33   count=0;
34   len=opt.length;
35   while(count<len){
36     //alert("当前循环检查的值是"+opt[0]);
37     if(-1 != tmp.indexOf(opt[0])){
38       //alert("开头的值"+opt[0]+"已被选择");
39       opt.shift();
40       //alert("去掉后的选项有"+opt);
41       if(optTmp.length==count) break;
42       //opt.splice(i,1);
43     }else{
44       t=opt.shift();
45       //alert("去掉开头的值"+t);
46       opt.push(t);
47       //alert("加到尾部的值"+t);
48     }
49     //alert(opt);
50     count++;
51   }
52   document.getElementById(idPrefix+r+c).value= opt[0]?opt[0]:'';
53 }
54  </script>
55  </head>
56  <body>
57   <table width="120px" border="0" align="center" cellpadding="0" cellspacing="1" class="SmallFont">
58   <tr>
59     <td bgcolor="#C0D2EB"><div align="center" class="STYLE15">顺序</div></td>
60     <td bgcolor="#C0D2EB"><div align="center" class="STYLE15"></div></td>
61     <td bgcolor="#C0D2EB"><div align="center" class="STYLE15"></div></td>
62     <td bgcolor="#C0D2EB"><div align="center" class="STYLE15"></div></td>
63    
64   </tr>
65   <tr  align="center">
66     <td width="20" height="25"><div align="center" class="matchno">1</div></td>
67      <td width="19"><div align="center">
68     <input type="text" id="ToToChoiceOrder11" name="ToToChoiceOrder11" readonly="readonly"  size="1" value="3" class="FSInput1" onclick="changeOrder(1,1)" />
69     </div></td>
70     <td width="19"><div align="center">
71       <input type="text" id="ToToChoiceOrder12" name="ToToChoiceOrder12" readonly="readonly"  size="1" value="" class="FSInput1" onclick="changeOrder(1,2)" />
72     </div></td>
73     <td width="19"><div align="center">
74       <input type="text" id="ToToChoiceOrder13" name="ToToChoiceOrder13" readonly="readonly"  size="1" value="" class="FSInput1" onclick="changeOrder(1,3)" />
75     </div></td>
76   </tr>
77   <tr  align="center">
78     <td width="20" height="25"><div align="center" class="matchno">2</div></td>
79    
80     <td width="19"><div align="center">
81     <input type="text" id="ToToChoiceOrder21" name="ToToChoiceOrder21" readonly="readonly"  size="1" value="3" class="FSInput1" onclick="changeOrder(2,1)" />
82     </div></td>
83     <td width="19"><div align="center">
84       <input type="text" id="ToToChoiceOrder22" name="ToToChoiceOrder22" readonly="readonly"  size="1" value="" class="FSInput1" onclick="changeOrder(2,2)" />
85     </div></td>
86     <td width="19"><div align="center">
87       <input type="text" id="ToToChoiceOrder23" name="ToToChoiceOrder23" readonly="readonly"  size="1" value="" class="FSInput1" onclick="changeOrder(2,3)" />
88     </div></td>
89   </tr>
90   </table>
91  </body>
92 </html>
93 

 

转载于:https://www.cnblogs.com/BeanHsiang/archive/2009/11/29/1613137.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qmenu只在鼠标单击时消失_两种方法解决win10电脑无法使用无线鼠标问题

使用有线鼠标时用户们是否也都会被那条线控制住&#xff0c;有时需要大范围移动时并不行&#xff0c;现在很多用户都会选择使用无线鼠标&#xff0c;因为可以随意移动使用更加方便。但是在使用中也有用户遇到了麻烦&#xff0c;使用win10连接鼠标后无法使用&#xff0c;这是要怎…

线程的几个状态

Runnable&#xff1a;一般指该线程正在执行状态中&#xff0c;该线程占用了资源&#xff0c;正在处理某个请求&#xff0c;例如有可能在对某个文件操作&#xff0c;有可能进行数据类型等转换。Waiting on condition&#xff1a;等待资源&#xff0c;或等待某个条件的发生。具体…

c++ 数组的输入遇到特定字符停止输入_滑动窗口思维--挑战“无重复字符的最长子串”

文章来源&#xff1a; 饭饭的Python学习之路作者&#xff1a; 一粒米饭今天要挑战的是“无重复字符的最长子串”。难度&#xff1a;中等题目描述&#xff1a;给定一个字符串&#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。示例1:输入: "abcabcbb"输出: …

Effective C++ 读书笔记(八)

8 定制new和delete 条款49&#xff1a;了解new-handler的行为 new_handler set_new_handler (new_handler new_p) throw(); Sets new_p as the new handler function, the old one is returned. operator new抛出异常以反映一个未获满足的内存需求之前&#xff0c;它会先调…

docker 打包_Springboot2.0学习11 使用maven插件打包docker部署应用

一、本文目标使用Maven插件构建SpringBoot应用的docker镜像镜像推送至Docker Registry启动容器本文开发环境 &#xff1a;jdk1.8mavenideaSpringBoot2.2本文使用 com.spotify 的 docker-maven-plugin插件执行docker命令。据说官方不再推荐使用该插件&#xff0c;而是使用 docke…

[转帖]Mootools源码分析-49 -- Asset

原帖地址&#xff1a;http://space.flash8.net/space/?uid-18713-action-viewspace-itemid-410355 原作者&#xff1a;我佛山人 代码 //脚本,样式和图片的资源加载varAsset newHash({ //脚本资源的加载javascrīpt: function(source, properties) { //合并属性项…

桌面壁纸大全:50套高清 Mac 桌面壁纸背景【下篇】

这篇文章收集一组非常精美的 Mac 高清桌面壁纸分享给大家&#xff0c;这些都是仔细挑选的完美图片。挑选一张自己最喜欢的 Mac 高清桌面壁纸给你的电脑换上&#xff0c;让你的电脑看起来与众不同。 您可能还喜欢 分享18套精美的苹果风格免费图标素材10套精美的免费网站后台管理…

SpeedyCloud研发总监李孟:不要让底层细节被上层打败

随着互联网的发展&#xff0c;对于现代企业来说&#xff0c;DNS与CDN服务的作用正变得愈发重要&#xff0c;网络访问速度决定了前端客户体验&#xff0c;同时也影响着内部业务系统的运行。SpeedyCloud作为一家新晋IaaS云服务供应商&#xff0c;在DNS与CDN方面同样拥有丰富的实践…

springboot 关闭懒加载_SpringBoot新手入门篇

SpringBoot是干哈的介绍&#xff1a;springboot是由Pivotal团队提供的全新框架。spring的出现是为了解决企业级开发应用的复杂性&#xff0c;spring的通过注册bean的方式来管理类&#xff0c;但是随着业务的增加&#xff0c;使用xml配置bean的方式也显得相当繁琐&#xff0c;所…

NodeManager启动流程与服务

本文介绍了NodeManager的启动流程与服务. NodeManager主流程 在main方法中new一个 NodeManager, 然后初始化并启动. 这里主要看initAndStartNodeManager方法. 首先是增加一个shutDownHook, 即CompositeServiceShutdownHook, 它的目的是为了在NodeManager crash的时候停止compos…

Unity3D的断点调试功能

&#xfeff;&#xfeff;这篇文章介绍的调试工具是Unity自带的MonoDevelop, 假设要用VS&#xff0c;须要下载unityvs http://unityvs.com/. http://liweizhaolili.blog.163.com/blog/static/162307442013214485190/ 断点调试功能可谓是程序猿必备的功能了。Unity3D支持编写js…

python中if else语句用法_Python中if-else语句的多种写法

原博文 2017-02-06 10:24 − 初学Python在看程序时发现python中if-else的多种写法&#xff0c;故对其进行分析。 以下为网络内容&#xff1a; a, b, c 1, 2, 3 1.常规 if a>b: &nb... 相关推荐 2019-11-13 15:13 − if x A: do something for A elif x B: do somethi…

Reflux系列01:异步操作经验小结

写在前面 在实际项目中&#xff0c;应用往往充斥着大量的异步操作&#xff0c;如ajax请求&#xff0c;定时器等。一旦应用涉及异步操作&#xff0c;代码便会变得复杂起来。在flux体系中&#xff0c;让人困惑的往往有几点&#xff1a; 异步操作应该在actions还是store中进行&…

python转换成c语言_把python转成c

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 推荐使用腾讯云 api 配套的7种常见的编程语言 sdk&#xff0c;已经封装了签名和请求过程&#xff0c;均已开…

python逐行写入csv_python将列表按行写入csv

原博文 2020-05-14 13:17 − import csv rows2 [abc1/ab1c,N] for n in range(10): f open("ok.csv", a,newline) writer csv.writer(f) writer.writerow(rows2) f.cl...02349 相关推荐 2019-12-18 14:42 − 逗号分隔值&#xff08;Comma-Separated Values&#x…

第8章4节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动 8

这个方法所做的事情就是:446行: 首先通过Device类的executeShellCommand方法发送类似”adb shell getprop”的命令去获得所有支持的系统属性&#xff0c;这个方法最终调用的是AdbHelper类的executeShellCommand方法&#xff0c;它会接收一个专门用来对指定shell命令如getprop的…

新手买车的九大原则

汽车俨然已经成为了人们生活中不可缺少的助手。放眼市场&#xff0c;汽车的品牌、车型、颜色、配置&#xff0c;划分的类别太多太多&#xff0c;让众多爱车友人在购车时眼花缭乱。由于厂家、商家片面的宣传和误导以及购车者思想上或这样或那样的误区&#xff0c;使众人面对购车…

python实现链表的删除_Python垃圾回收机制

python作为一门解释型语言&#xff0c;以代码简洁易懂著称。我们可以直接对名称赋值&#xff0c;而不必声明类型。名称类型的确定、内存空间的分配与释放都是由python解释器在运行时进行的。python这一自动管理内存功能极大的减小了程序员负担,这也是成就python自身的重要原因之…

第一章:The Missing Code Library--2.合法化输入

合法化输入&#xff1a;只允许数字和字母 用户常常会忽略掉说明&#xff0c;并且输入错误的数据。作为一个Shell脚本开发人员&#xff0c;你需要拦截并纠正这些错误。 典型情况是&#xff0c;你或许会遇见文件名或是数据库的键。你提示用户要输入一个全部由大小写字母和数字…

java 缓存清理echo_“kill -9”一时爽,秋后算账泪两行

原创&#xff1a;小姐姐味道(微信公众号ID&#xff1a;xjjdog)&#xff0c;欢迎分享&#xff0c;转载请保留出处。任何不保留此声明的转载都是抄袭。kill是杀死的意思&#xff0c;带有主动的意味。鉴于master、slave这样的名词&#xff0c;需要在计算机软件中进行整改&#xff…