记录week4
来源:互联网 发布:飞鹰网络电视 成人 编辑:程序博客网 时间:2024/06/06 06:54
Goal
1、VaspSubmit需要实现版本选择器、核数选择器(可自定义、可选择)
2、传入到后台的数据包括软件版本、节点数、作业名(可以默认定义)、提交日期(服务器时间?)、用户名(默认定义)、作业状态(默认为1)、作业ID(按阿拉伯数字自增,如果前端不能保证原子操作,可以在后端实现)
What I Get
1、Edit实现
1)保存修改
Problem:修改后的文件内容没有正确地传到后台,格式不对:(
Description:在编辑器上显示空行,保存后再次打开却没有显示出来
Solution:每个空行里的innerHTML都是
,在读取时,检查该元素是否只有
(使用Object.indexOf(string),如果可以找到该字符串,函数会返回存在的位置,否则会返回-1)。如果找到,就只添加自定义的换行标识符,否则添加innerHTML+自定义换行标识符。最后在读取显示时,找到该换行标识符,将其替换成换行符
for (var i = 0; i < content_text.length; i++) { var temp=""; if (content_text[i].innerHTML.indexOf("<br>") != -1) { temp = "_Edit_br_"; } else { temp = content_text[i].innerHTML + "_Edit_br_"; }
2、行号实现
行号随行数变化而变化
1)增加
Description:判断键盘输入的符号,当键盘的输入为Enter时,div增加一个,行数加1
if (event.keyCode == 13) { var showNumDiv = document.getElementById("showNum"); var cur_num = showNumDiv.className; var numDiv = document.createElement("div"); cur_num++; numDiv.innerHTML=cur_num; numDiv.className="lineNum"; numDiv.style.height=22.67+"px"; showNumDiv.appendChild(numDiv); showNumDiv.className=cur_num; lineNum++; console.log("current line num="+lineNum); }
2)减少
Description:判断键盘输入的符号,当键盘的输入为Delete,同时当前div内容为空时,div减少一个,行数减1
3、版本选择===
实现比较容易,提供版本号给用户选择:
<select class="form-control input-lg" name="versions"> <option>Version 1</option> <option>Version 2</option> <option>Version 3</option> <option>Version 4</option> <option>Version 5</option></select>
同时具有搜索功能(添加了boostrap的插件:select2.min.js)
$("#选择器ID/.选择器类名").select2({ theme: "classic"//主题类型,可以通过搜索选项来快速选择 });
4、核数选择
既可以选择既定的选项,也可以自定义选项
<select class="form-control input-lg cores" onchange="editable(this);" id="cores"> <option value="1">1</option> <option value="2">2</option> <option value="4">4</option> <option value="8">8</option> <option value="18">18</option> <option value="36">36</option> <option value="" id="enterId">Enter Your Value</option> </select>
实现自定义选项:点击了“Enter Your Value”的选项后,弹出对话框,提示用户输入自定义的值;点击Save按钮后,会触发SaveInput()方法;调用addSelected(value1,text1)方法来增加一个自定义的option,然后显示在selector内。
// show the modal function editable(select1){ if(select1.value == ""){ $(function () { $("#EnterValueModal").modal(); }); } } //add new option to the cores selector function addSelected(value1,text1){ var fld1 = document.getElementById("cores") if (document.all) { //IE browser var Opt = fld1.document.createElement("OPTION"); var enter = fld1.options[fld1.options.length-1]; Opt.text = text1; Opt.value = value1; fld1.add(Opt, enter); console.log("Opt.value="+Opt.value ); Opt.selected = true; }else{ // not IE var Opt = new Option(text1,value1,false,false); var enter = fld1.options[fld1.options.length-1]; Opt.selected = true; // add the new option fld1.add(Opt, enter); console.log("Opt.value="+Opt.value ); } } // function of Save button function SaveInput() { var inputValue = document.getElementById("inputText").innerHTML; console.log("before save "+ inputValue); // call the create option function if(inputValue){ addSelected(inputValue,inputValue); } inputValue=""; console.log("after save "+inputValue); }
5、插件
1、jquery的smartWizard插件常用在一些向导式的,按步骤的功能中,是的用户按照我们设定的步骤进行操作,这样一方面有较好的用户体验,可以将庞大的表格数据分解成多个步骤,是的每个步骤的数据量减少;另一方面流程比较清晰,先做那个下一步做什么都是可控可设定的。
源码:http://techlaboratory.net/smartwizard
demo:http://techlaboratory.net/smartwizard/demo
2、boostrap的select2支持模糊筛选
$("#select2-id").select2({ templateResult : formatState, // 列表带图片 templateSelection : formatState, // 选中的带图片 language: "zh-CN", //设置 提示语言 width: "100%", //设置下拉框的宽度 placeholder: "请选择", // 空值提示内容,选项值为 null //placeholder: {id: '', text: "请选择"}, // 同上,这里默认空值为 '' minimumInputLength: 10 //最小需要输入多少个字符才进行查询 allowClear: true, //是否允许清空选中 tags: false, //设置必须存在的选项 才能选中,设置不存在的值则为null,如果 placeholder: {id: '', text: "请选择"} 则为 '' selectOnClose: true, // 如果没有手动选中,下拉框消失后会自动选中被hover的选项 (不建议使用) closeOnSelect: false, // 选择后下拉框不会关闭(单选-不建议使用) minimumResultsForSearch: Infinity, // 隐藏搜索框 theme: "classic", // 样式 maximumSelectionLength: 3, // 多选 - 设置最多可以选择多少项 tokenSeparators: [',', ' '], // 多选 - 输入逗号和空格会自动完成一个选项 前提是:tags: true });
- 记录week4
- week4
- POMM-week4
- FERMI-week4
- week4-4
- 周报week4
- Oct week4
- Leetcode Week4
- leetcode week4
- week4 神经网络
- Algorithm-week4
- LeetCode Week4
- coursera-android-week4-4
- C程序设计 WEEK4
- Machine Learning(Andrew)Week4
- R语言程序设计week4
- 统计推断week4
- Summary for week4
- 学习kettle插件
- Find The Multiple (BFS)
- CSS加载
- iOS-MVC架构
- 泛型概念
- 记录week4
- 在js里双引号里又加单引号的解决方案常用WdatePicker
- 初识树结构,简单模拟无规律的二叉树,实现二叉树的构建,计算树的深度以及三种遍历方式以及搜索删除,销毁整个树
- 笔记:代码加载mainStory board
- A 子类继承父类,子类的构造函数会覆盖父类的构造函数
- 三层交换机与路由器的异同
- android Volley完全解析(二)使用Volley加载图片
- hdu6095-思维-Rikka with Competition
- c# 有关虚方法要知道的知识点