<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="../jquery.min.js"></script>
<script>
(function(){
var RentNumObj = {};
RentNumObj.geocount = 0;
RentNumObj.tarDomId = "";
RentNumObj.rentJson = {};
var seed = 1;
var prefix = "dom00";
var selobjid = null;
var delobjid = null;
function getGeocount () {
return RentNumObj.geocount;
}
function setGeocount (val) {
RentNumObj.geocount = val;
}
function getTarDomId () {
return RentNumObj.tarDomId;
}
function setTarDomId (val) {
RentNumObj.tarDomId = val;
}
function getRentnumArr () {
return RentNumObj.rentnumArr;
}
function setRentnumArr (val) {
RentNumObj.rentnumArr = val;
}
function checkRentValLose () {
var rentJson = RentNumObj.rentJson;
for (var p in rentJson){
if( rentJson[p] == undefined || rentJson[p] == null ){
return false;
}
}
return true;
}
function checkTarget () {
var args = arguments;
var tarid = RentNumObj.tarDomId;
if( tarid == "" ){
RentNumObj.tarDomId = tarid = args[0];
}
return $("#"+tarid);
}
function print () {
// console.log("geocount:", RentNumObj.geocount);
// console.log("tarDomId:", RentNumObj.tarDomId);
// console.log("rentnumArr:", RentNumObj.rentnumArr);
// console.log("rentJson:", RentNumObj.rentJson);
// console.log("=========================");
$("#panel").html("");
$("#panel").append("<div>geocount: "+RentNumObj.geocount+"</div>");
$("#panel").append("<div>tarDomId: "+RentNumObj.tarDomId+"</div>");
$("#panel").append("<div>rentnumArr: "+RentNumObj.rentnumArr+"</div>");
$("#panel").append("<div>rentJson: "+RentNumObj.rentJson+"</div>");
}
function print2(){
$("#panel2").html("");
$("#panel2").append("<div>selobjid: "+ selobjid +"</div>");
$("#panel2").append("<div>rentnum: "+ rentJson[selobjid] +"</div>");
} //var pt = RentNumObj.prototype;
var pt = RentNumObj;
pt.add = function(){
print();
var tarobj = checkTarget("intext");
//tarobj[0].value = "";
var geocount = getGeocount(); if(geocount > 0){
var tarval = tarobj[0].value;
if( !checkRentValLose() ){
//if( tarval == "" ){
alert("未绑定租金值,请填写租金值!");
tarobj[0].value = "";
return false;
//}
}
}
selobjid = prefix + seed;
seed = seed + 1;
//$("#panel").append("<div id='"+selobjid+"' width='20' height='10' style='background-color:yellow;'>"+selobjid+"</div>");
$("body").append("<input type='button' id='"+selobjid+"' class='btnCls' value='"+selobjid+"'>"); $(".btnCls").bind("click", RentNumObj.sel);
geocount = geocount + 1;
setGeocount(geocount);
RentNumObj.rentJson[selobjid] = null;
print();
};
pt.del = function(){
print();
if( delobjid == null){
alert("请先选择!");
return false;
}
var rentJson = RentNumObj.rentJson;
delete rentJson[ delobjid ];
var geocount = getGeocount();
geocount = geocount - 1;
setGeocount(geocount);
$("#"+delobjid).remove();
// $("body").remove("'#"+delobjid+"'");
delobjid = selobjid = null;
// $("#"+delobjid).remove();
print();
};
pt.clear = function(){
print();
var rentJson = RentNumObj.rentJson;
for(var p in rentJson){
delete rentJson[p];
console.log("p:", p);
$("#"+p).remove();
}
setGeocount( 0 );
delobjid = selobjid = null;
print();
};
pt.sel = function(){
print();
var me = this;
// console.log( me );
// console.log("id : " + me.id);
delobjid = selobjid = me.id ;
rentJson = RentNumObj.rentJson;
console.log("rentJson[selobjid]:", rentJson[selobjid]);
print2();
print();
};
pt.save = function(){
print();
var tarobj = checkTarget("intext");
var geocount = getGeocount();
if(geocount > 0){
var tarval = tarobj[0].value;
if( !checkRentValLose() && tarval == "" ){
alert("未绑定租金值,请填写租金值!");
return false;
}
}
print();
};
pt.bindOnBlur = function(){
print();
var tarval = checkTarget("intext")[0].value;
if( tarval != "" && selobjid != null ){
var rentjson = RentNumObj.rentJson;
rentjson[selobjid] = tarval;
alert("租金值已经绑定!");
checkTarget("intext")[0].value = "";
delobjid = selobjid = null;
}
print();
};
window.RentNumObj = RentNumObj;
})(); $(function(){ console.log(RentNumObj); $("#btn_add").bind("click", RentNumObj.add);
$("#btn_del").bind("click", RentNumObj.del);
//$("#btn_sel").bind("click", RentNumObj.sel);
$("#btn_save").bind("click", RentNumObj.save);
$("#btn_clear").bind("click", RentNumObj.clear); $("#intext").bind("blur", RentNumObj.bindOnBlur);
});
</script>
</head>
<body>
<div class="main">
<div class="sub"><span class="btn"><input type="button" id="btn_add" value="Add"></span></div>
<div class="sub"><span class="btn"><input type="button" id="btn_del" value="Delete"></span></div>
<div class="sub"><span class="btn"><input type="button" id="btn_clear" value="Clear"></span></div>
<!--<div class="sub"><span class="btn"><input type="button" id="btn_sel" value="Select"></span></div>-->
<div class="sub"><span class="btn"><input type="button" id="btn_save" value="Save"></span></div> <div class="sub"><input type="text" id="intext"></div>
</div>
<div class="panel" id="panel" width="100px" height="500px" ></div>
<div class="panel" id="panel2" width="100px" height="500px" style="float:right;padding:50px;"></div>
<div>----------------------------</div>
</body>
</html>

这样写JS的方式对吗?的更多相关文章

  1. 不管你以后写不写JS,都应该学会这种思考方式

    昨天在网上看到了一篇文章说程序员写不过35这种说法,但事实上,确实并不能每个人都像我一样,在写JS中找到乐趣,就乐意写这东西直到50岁眼瞎为止. 那肯定有人要问,也许我不仅写JS写不到35,可能我连3 ...

  2. 如果使用引用方式引用了js后 则不能再本地写js 因为写了后不会有效果

    如果使用引用方式引用了js后 则不能再本地写js 因为写了后不会有效果

  3. FLASH CC 2015 CANVAS (二)html中写JS调用flash中的元件、函数、变量

    注意 此贴 为个人边“开荒”边写,所以不保证就是最佳做法,也难免有错误! 正式教程会在后续开始更新 当你导出第一个canvas后,你会在保存fla的文件夹里 (每个项目默认位置)看到 如下文件,(请先 ...

  4. cocos2dx手写js绑定C++

    这两天连续查阅了js绑定c++的非常多文章  , 有手动与自己主动两种方式 . 本来想用自己主动绑定的 , 可是NDK一直下载不下来.....就给算了 . 以下总结一下手动绑定的实现过程 : 一共三步 ...

  5. Java 10 的 10 个新特性,将彻底改变你写代码的方式!

    Java 9才发布几个月,很多玩意都没整明白,现在Java 10又快要来了.. 这时候我真尼玛想说:线上用的JDK 7 甚至JDK 6,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK ...

  6. JS 引入方式 基本数据类型 运算符 控制语句 循环 异常

    一.JS引入方式 什么是JavaScript? JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览 ...

  7. 000 在什么位置写js代码

    一:介绍 1.DOM 2.节点分类 节点及其类型: 1). 元素节点 2). 属性节点: 元素的属性, 可以直接通过属性的方式来操作. 3). 文本节点: 是元素节点的子节点, 其内容为文本. 二:J ...

  8. springMVC 引入静态资源Js的方式

    前两天项目出现了Js无法引入的情况,本篇博客先总结分析+批判自己犯的低级错,再说说几种访问静态资源的方式! 首先,由于在web.xml里面的servlet拦截匹配为<url-pattern> ...

  9. 在wxml中直接写js代码(wxs)

    我们在h5开发中,很多时候要在html中写到js代码,这个很容易实现.但是在微信小程序开发中,是不能直接在wxml中写js代码的,因此就有了wxs.在wxml中用wxs代码,有以下几种方式(在小程序文 ...

随机推荐

  1. 洛谷P1220 关路灯

    洛谷1220 关路灯 题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关 ...

  2. codeforce 621D - Rat Kwesh and Cheese

    题意:求表达式中最大的值. long double 128位 有效数字18-19 范围正负1.2*10^4932 注意取对数! #include<iostream> #include< ...

  3. 算法导论学习-prim算法

    一. 关于最小生成树 对于无向连通图G=(V,E),其中V表示图的顶点,E表示图的边,对于每条边都有一个权值,可以理解为边a->b的权值C为从a走到b要走的路程为C.现在我们希望找到一个无回路的 ...

  4. POJ3107--Godfather(树的重心)

    vector建图被卡了..改为链式前向星500ms过的..差了四倍多?... 表示不太会用链表建图啊..自己试着写的,没看模板..嗯..果然错了..落了一句话orz 树的重心就是找到一个树中一个点,其 ...

  5. Spring Cloud介绍 Spring Cloud与Dubbo对比

    spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状 ...

  6. PowerShell脚本传递参数

    在编写PowerShell脚本的时候,可以通过给变量赋值的方法输出想要的结果,但这样的话,需要改动脚本内容.其实也可以在脚本中定义参数,然后再在执行脚本的时候对参数赋值,而无需改动脚本内容. 在Pow ...

  7. 杂谈:你选择coco 还是unity3d?

    当一个人喜欢的时候,那么这样的兴趣是非常难改变的.你是否会改变自己想法?眼下而言,如今adobe 对flash开发处于维护的状态.为什么?是由于前期错误政策流失非常多人才,这一点也非常难避免.当今年湖 ...

  8. [React] React Fundamentals: Add-on ClassSet() for ClassName

    To get the add-ons, use react-with-addons.js (and its minified counterpart) rather than the common r ...

  9. [Erlang]怎样加入自己的BIF

    步骤 1. 执行configure 2. 将你的bifs加入至erts/emulator/beam/bif.tab bif re:grep/2 bif re:compile/1 3. 创建一个C代码文 ...

  10. 使用new分配内存的类需要自己定义拷贝构造函数

    13.22 假定我们希望HasPtr的行为像一个值.即,对于对象所指向的string成员,每个对象都有一份自己的拷贝. #include<iostream> #include<str ...