【JQuery】简单实现div结合select实现div触发select新增option,并通过键盘上下键选中option后追加到div中。

  1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2 <%
  3 String path = request.getContextPath();
  4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5 %>
  6 <!DOCTYPE html>
  7 <html>
  8 <head>
  9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 10     <title>File Info</title>
 11     <link rel="stylesheet" type="text/css" href="../jquery-easyui-1.4.1/themes/default/easyui.css">
 12     <link rel="stylesheet" type="text/css" href="../jquery-easyui-1.4.1/themes/icon.css">
 13     <link rel="stylesheet" type="text/css" href="../jquery-easyui-1.4.1/themes/color.css">
 14     <link rel="stylesheet" type="text/css" href="../jquery-easyui-1.4.1/demo/demo.css">
 15     <link rel="stylesheet" type="text/css" href="../css/info.css">
 16     <script type="text/javascript" src="../jquery-easyui-1.4.1/jquery.min.js"></script>
 17     <script type="text/javascript" src="../jquery-easyui-1.4.1/jquery.easyui.min.js"></script>
 18     <script type="text/javascript" src="../jquery-easyui-1.4.1/locale/easyui-lang-zh_CN.js"></script>
 19     <!-- <script type="text/javascript" src="../js/jquery-1.8.0.min.js"></script> -->
 20     <script type="text/javascript" src="../js/Common.js"></script>
 21     <style type="text/css">
 22         .test_box {
 23             width: 400px;
 24             min-height: 120px;
 25             max-height: 300px;
 26             _height: 120px;
 27             border:solid 1px blue;
 28             outline:0;
 29         }
 30         .test_box p{ margin: 0; }
 31     </style>
 32 </head>
 33 <body>
 34     <!-- 显示文件信息的表格 -->
 35     <!-- <table id="dg"  class="easyui-datagrid" style="height: 470px;"
 36             url="findAll.do"
 37             toolbar="#toolbar" pagination="true"
 38             rownumbers="true" fitColumns="true" singleSelect="true"
 39             data-options="fit:false,border:false,pageSize:5,pageList:[5,10,15,20]" >
 40         <thead>
 41             <tr>
 42                 此处必须和实体类字段一致
 43                 <th field="filename" width="50">文件名</th>
 44                 <th field="filepath" width="50">文件路径</th>
 45                 <th field="updatedate" width="50">上传时间</th>
 46             </tr>
 47         </thead>
 48     </table>
 49     <table id="tdList"></table> -->
 50     <script type="text/javascript">
 51     var $jq = jQuery.noConflict();
 52
 53     function add() {
 54         $jq("#add").dialog({
 55             title : "添加数据字典类别",
 56             collapsible : true,
 57             minimizable : true,
 58             maximizable : true,
 59             resizable : true,
 60             width : 400,
 61             height : 260,
 62             buttons : [ {
 63                 text : "保存",
 64                 iconCls : "icon-add",
 65                 handler : function() {
 66                     $jq("#add form").submit();
 67                 }
 68             }, {
 69                 text : "取消",
 70                 iconCls : "icon-cancel",
 71                 handler : function() {
 72                     $jq("#add").dialog("close");
 73                 }
 74             } ]
 75         });
 76     };
 77
 78     $jq(function () {
 79         $jq("#tdList").datagrid({
 80             url: "findAll.do",
 81             title: "数据字典列表",
 82             loadMsg: ‘正在加载信息...‘,
 83             width: "100%",
 84             idField: "Id",
 85             fitColumns: true,
 86             pagination: true,
 87             pageSize: 10,
 88             pageList: [10, 20, 35, 50],
 89             singleSelect: true,
 90             rownumbers: true,
 91             columns: [[
 92                     { field: ‘filename‘, title: ‘文件名‘, width: 120 },
 93                     { field: ‘filepath‘, title: ‘文件路径‘, width: 80 },
 94                     {
 95                         field: ‘updatedate‘, title: ‘上传时间‘, width: 80,
 96                         formatter : formatterdate3
 97                     }
 98
 99             ]],
100             toolbar: [{
101                 id: ‘add‘,
102                 text: ‘添加‘,
103                 iconCls: ‘icon-add‘,
104                 handler: add
105             }],
106             onLoadSuccess: function (data) {
107                 if (!data.rows) {
108                     var body = $jq(this).data().datagrid.dc.body2;
109                     body.find(‘table tbody‘).append(‘<tr><td width="‘ + body.width() + ‘" style="height: 25px; text-align: center;">没有数据</td></tr>‘);
110                 }
111             }
112         });
113
114         // TODO
115         // 删除键
116         /* document.onkeydown = function(){
117             var oEvent = window.event;
118
119             if (oEvent.keyCode == 8) {
120                 $jq(".test_box div:last").remove();
121             }
122         }
123         // 回车键
124         document.onkeydown = function(){
125             var oEvent = window.event;
126
127             if (oEvent.keyCode == 13) {
128                 // 默认选中select下拉的第一个option
129                 $jq("#test_select option:first").attr("selected",true);
130                 // 让select整体聚焦
131                 $jq("#test_select").focus();
132             }
133         } */
134         $jq("#select_div").hide();
135         $jq(".test_box").focus();
136         // 给.test_box绑定删除事件
137         $jq(".test_box").keydown(function(e){
138             var oEvent = window.event;
139             if (oEvent.keyCode == 8) {
140                 $jq(".test_box div:last").remove();
141             }
142         });
143          // 给.test_box绑定回车事件
144         $jq(".test_box").bind("keydown",function(e){
145             var oEvent = window.event;
146             if (oEvent.keyCode == 13) {
147                 // 执行一些操作-这里假设进行了一个ajax请求返回一个值,并把这个值加入到select中
148                 var testValue="fuck999";
149                 $jq("#test_select").append(‘<option value="fuck2">‘+testValue+‘</option>‘);
150                 // 默认选中select下拉的第一个option
151                 $jq("#test_select option:first").attr("selected",true);
152                 // 让select整体聚焦
153                 $jq("#select_div").show();
154                 $jq("#test_select").focus();
155             }
156         });
157
158         $jq("#test_select").keydown(function(e){
159             var oEvent = window.event;
160             if (oEvent.keyCode == 13) {
161                 // 默认选中select下拉的第一个option
162                    $jq(this).attr("selected",true);
163                    // 让select所在div隐藏
164                    $jq(".test_box").append(‘<div style="display:block;margin:0 auto;background:gray;width:50px;float:left;">‘
165                        +$jq("#test_select option:selected").val()+‘</div>‘);
166                    alert("fuck");
167                    $jq("#test_select").blur();
168                    $jq("#select_div").hide();
169             }
170         });
171
172
173     });
174
175
176     </script>
177     <div class="test_box" contenteditable="true">
178         <div style="display:block;margin:0 auto;background:gray;width:50px;float:left;">
179             fuck1
180         </div>
181         <div style="display:block;margin:0 auto;background:gray;width:50px;float:left;">
182             fuck2
183         </div>
184         <div style="display:block;margin:0 auto;background:gray;width:50px;float:left;">
185             fuck3
186         </div>
187         <div style="display:block;margin:0 auto;background:gray;width:50px;float:left;">
188             fuck4
189         </div>
190     </div>
191     <div id="select_div">
192         <select id="test_select" multiple>
193             <option value="fuck1">fuck1</option>
194             <option value="fuck2">fuck2</option>
195             <option value="fuck3">fuck3</option>
196             <option value="fuck4">fuck4</option>
197         </select>
198     </div>
199
200 </body>
201 </html>
时间: 2024-10-18 07:57:08

【JQuery】简单实现div结合select实现div触发select新增option,并通过键盘上下键选中option后追加到div中。的相关文章

07.30《jQuery》——2.2使用键盘上下左右键控制div框

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #bbb { height: 300px; width: 300px; background-color: aliceblue; position: relative; } </style>

jQuery简单的省市区县三级联动案例

简单的省市区三级联动,适合初学者入门学习的案例 目录结构如下: 三级联动.html 跟 JS文件夹是同个级别 效果图如下: HTML代码: 1 <style type="text/css"> 2 *{margin:0;padding:0;} 3 .selectAll 4 { width:400px; 5 margin:100px auto; 6 } 7 </style> 8 9 <div class="selectAll"> 10

JQuery 简单入门

1.选择器 1.Jquery选择器的各种用法 $(this) 当前元素 $("p") 所有<p>元素 $("input") 所有input元素 $(".intro") 所有 class=“intro” 的元素 $("p.intro") 所有 class="intro" 的<p>元素 $("#intro") id="intro" 的第一个元素 $

小练习:用jQuery简单模拟百度搜索框的提示功能

今天第一次接触jQuery,用jQuery模拟了一下百度搜索的自动提示功能.连带jQuery的基本知识点,简单总结如下: 首先得在工程中导入插件:jquery-1.4.2.js ,并在html的head中引入该js: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <html>

jQuery简单的轮播特效

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jquery 简单弹出层

预定义html代码:没有 所有代码通过js生成和移除. 预定义css /* 基本弹出层样式 */ .my-popup-overlay { width:100%; height:auto; /* width height is defined by javascript */ position: absolute; top:0; left: 0; z-index: 1000; background-color: #000; opacity: 0.2; *filter:alpha(opacity=2

jquery 简单弹出层(转)

预定义html代码:没有 所有代码通过js生成和移除. 预定义css /* 基本弹出层样式 */ .my-popup-overlay { width:100%; height:auto; /* width height is defined by javascript */ position: absolute; top:0; left: 0; z-index: 1000; background-color: #000; opacity: 0.2; *filter:alpha(opacity=2

基于Jquery 简单实用的弹出提示框

引言: 原生的 alert 样子看起来很粗暴,网上也有一大堆相关的插件,但是基本上都是大而全,仅仅几句话可以实现的东西,可能要引入好几十k的文件,所以话了点时间自己写了个弹出效果,放到项目上去发现效果还不错,这里贴出来,做个备忘,有需要的同学可以拿去,也可以作为一个参考. 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.d

jQuery简单的Ajax调用示例

jQuery简单的Ajax调用示例 jQuery确实方便,下面做个简单的Ajax调用: 建立一个简单的html文件: <!DOCTYPE HTML> <html> <head> <script type="text/javascript" src="Public/js/jquery-easyui-1.3.1/jquery-1.8.2.min.js"></script> <script type=&qu