重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天比较空,给你写了段,高手勿喷!CSDN我也给你回复了
创新互联建站专业为企业提供山亭网站建设、山亭做网站、山亭网站设计、山亭网站制作等企业网站建设、网页设计与制作、山亭企业网站模板建站服务,十载山亭做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
你如果将ID做为键名的话,代码还可以缩减。
select class="J_Grade" id="J_Grade"
option value="0"年级/option
/select
select class="J_Semester" id="J_Semester"
option value="0"学期/option
/select
select class="J_Class" id="J_Class"
option value="0"班级/option
/select
input id="J_Count" type="text" placeholder="人数" /
input id="J_ClassID" type="text" placeholder="班级ID" /
script src="
$(function(){
var J_Grade = $("#J_Grade");
var J_Semester = $("#J_Semester");
var J_Class = $("#J_Class");
var J_Count = $("#J_Count");
var J_ClassID = $("#J_ClassID");
var option = 'option value="0"年级/option';
for(var k in data){
option += 'option value="'+data[k]['id']+'"'+data[k]['name']+'/option';
}
J_Grade.empty();
$(option).appendTo(J_Grade);
J_Grade.change(function(){
initSemester();
initClass();
setSemester($(this).val());
});
J_ClassID.blur(function(){
var val = $(this).val();
var GradeID = 0,SemesterID = 0,ClassID = 0;
for(var k in data){
Grade = data[k]['id'];
var child = data[k]['child'];
for(var s in child){
SemesterID = child[s]['id'];
var _child = child[s]['child'];
for(var ss in _child){
if(_child[ss]['id'] == val){
ClassID = _child[ss]['id'];
J_Grade.find("option[value="+Grade+"]").attr("selected",true);
J_Grade.change();
J_Semester.find("option[value="+SemesterID+"]").attr("selected",true);
J_Semester.change();
J_Class.find("option[value="+ClassID+"]").attr("selected",true);
J_Class.change();
}
}
}
}
});
function setSemester(GradeID){
var option = 'option value="0"学期/option';
for(var k in data){
if(data[k]['id'] == GradeID){
var child = data[k]['child'];
for(var s in child){
option += 'option value="'+child[s]['id']+'" data-gid="'+GradeID+'"'+child[s]['name']+'/option';
}
}
}
J_Semester.empty();
$(option).appendTo(J_Semester);
J_Semester.change(function(){
initClass();
var option = J_Semester.find("option:selected");
setClass(option.attr("data-gid"),$(this).val());
})
}
function setClass(GradeID,SemesterID){
var option = 'option value="0"班级/option';
for(var k in data){
if(data[k]['id'] == GradeID){
var child = data[k]['child'];
for(var s in child){
if(child[s]['id'] == SemesterID){
var _child = child[s]['child'];
for(var ss in _child){
option += 'option value="'+_child[ss]['id']+'" data-count="'+_child[ss]['count']+'" data-sid="'+SemesterID+'" data-gid="'+GradeID+'"'+_child[ss]['name']+'/option';
}
}
}
}
}
J_Class.empty();
$(option).appendTo(J_Class);
J_Class.change(function(){
var option = J_Class.find("option:selected");
J_Count.val(option.attr("data-count"));
J_ClassID.val($(this).val());
})
}
function initSemester(){
J_Semester.empty();
$('option value="0"学期/option').appendTo(J_Semester);
}
function initClass(){
J_Class.empty();
$('option value="0"班级/option').appendTo(J_Class);
}
});
网页中设置密码过程中一般都会有对密码强度的校验、跟原密码的校验等步骤,javascript 是一种脚本语言,用于页面与后台,人与电脑之间的交互。至于你说的javascript3则可能是拼装字符串时候出现的错误提示而已。
C语言中,3/2是整数运算,所以结果为1,而3.0/2.0是浮点数运算,所以结果是1.5
JavaScript是脚本语言,是弱类型的,要根据实际情况来决定数据的实际类型,一般整数之间的加减运算默认是按整数处理,而乘除运算则按浮点数处理,所以3/2的结果是1.5。要想获得1,必须进行强制的类型转换,比如parseInt(3/2)
1.文件物件模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。DOM是HTML与XML的应用编程接口(API)。
2.try{
*****;(如果这句话抛出异常)
*****;(这里的不执行)
}catch{
*****;(如果有异常这里的执行)
}
******;(不管有没有异常,这里都执行。但万一异常引起了javascript引擎的解析错误,后面的将不会解析执行。)
3.文件后缀名只是最简单的辨认文件类型的方法,但不是准确辨认文件类型的方法。每个文件反编译后头部都有文件的类型。那才是真正确定文件类型的地方
Js中的对象分为三类:
1,内置对象(静态对象)
2,本地对象(非静态对象)
3,宿主对象
首先来说宿主对象,宿主,顾名思义,就是js运行和存活的地方,它的生活环境:就是
DOM(文档对象模型)和BOM(浏览器对象模型).
其次说一下内置对象。首先问一个问题,大家有没有见过
var oMath = new Math();object is not a function
没见过对吧?那你有没有见过Array.push();呢?肯定也没见过,现在你很想试一试是怎么个情况,结果就是:undefined is not a function 。说到这大家应该都明白了,有一些对象,他们直接时候自己的属性和方法,比如Math.ceil();无需实例化,这就是内置对象。而必须实例化才能使用其方法和属性的就是本地对象。
常见的本地对象:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、
URIError。
内置对象(只有两个):Math,Global(不常用,但是想想一下我,我们使用的类似于isNaN()、parseInt()和parseFloat()方法等都是它的方法。)那么留下一个思考题:json是什么呢?