这样,可以在多处应用。更好一些。缺点是不够灵活。

优点是,一处修改,多处应用。

函数这东西,一般都是先加载的,之后就可以随便调用了。

function delquestion(obj){
//confirm('确认要删除吗');
$(obj).parent().parent().remove();
}
function addquestions(obj){
var str = question_id = '';
//str = $(obj).parent().prev().html();
str = $(obj).parent().prev().find(".questions").text();
question_id = $(obj).parent().prev().find("input").val(); var flag = false;
$(".addquestions").each(function(){
if(question_id == $(this).val()){
flag = true;
}
});
if(flag){
alert("您已经添加过!不可重复添加");
return;
}
str1 = '<input type="hidden" class="addquestions" name="addquestions[]" value="'+question_id+'">';
$(".table_left").find("tr").eq(-2).after('<tr height="39"><td width="85%" style="text-align:left;padding-left:8px;">'+str1+str+'</td><td align="center"><input type="button" class="delete_2" onclick="delquestion(this);" style="cursor:pointer;"/></td></tr>');
} function pages(nowPage,url){
var content = $('#content').val();
var search_type = $("#search_type").val();
ajax(content,search_type,nowPage);
}
function ajax(content,search_type,nowPage){
var url = "/lessons/teacher/ajax";
if(content)url += "/content/"+content;
if(search_type!= 0)url +="/search_type/"+search_type;
if(nowPage)url += "/nowpage/"+nowPage;
$.ajax({
type: "POST",
url: url,
success:function(response){
if(response){
$("#questions_nav").nextAll().remove();
$("#questions_nav").after(response);
}else{
alert("error");
} }
});
} function getBookByGradeAndLesson(grade,lesson_id){
var url = "/default/index/ajax/do/getBookByGradeAndLesson";
var data = "grade="+grade+"&lesson_id="+lesson_id;
$.ajax({
type:"POST",
async:false,
url:url,
data:data,
success:function(response){
if(response){
$("#search_book").html(response);
$("#search_book option:first").text("书");
}else{
alert("error");
}
}
});
}
function getChapterByBookId(book_id){
var url = "/default/index/ajax/do/getChapterByBookId";
var data = "book_id="+book_id;
$.ajax({
type:"POST",
async:false,
url:url,
data:data,
success:function(response){
if(response){
$("#search_chapter").html(response);
$("#search_chapter option:first").text("章");
}else{
alert("error");
}
}
});
}
function getSectionByChapterId(chapter_id){
var url = "/default/index/ajax/do/getSectionByChapterId";
var data = "chapter_id="+chapter_id;
$.ajax({
type:"POST",
async:false,
url:url,
data:data,
success:function(response){
if(response){
$("#search_section").html(response);
$("#search_section option:first").text("节");
}else{
alert("error");
}
}
});
}
function chapterRefresh(){
var html = "<option vlaue=''>章</option>";
$("#search_chapter").html(html);
}
function sectionRefresh(){
var html = "<option vlaue=''>节</option>";
$("#search_section").html(html);
}

上面是函数方法,

加载之。。。

<script src="/js/app/lessons.js" type="text/javascript"></script>

主体应用之。。。

$(document).ready(function(){
var grade = "<!--{$grade}-->";
//var grade = 0;
var lesson_id = "<!--{$lesson_id}-->";
//var lesson_id = 0;
if(grade!=""&&lesson_id!=""){
getBookByGradeAndLesson(grade,lesson_id);
} //书变动
$("#search_book").change(function(){
var book_id = $(this).val();
if(book_id!=""){
getChapterByBookId(book_id);
}
//chapterRefresh();
sectionRefresh();
});
//章变动
$("#search_chapter").change(function(){
var chapter_id = $(this).val();
if(chapter_id!=""){
getSectionByChapterId(chapter_id);
}
}); $("#deadlinetime").calendar();
$(".make_sure1").click(function(){
var exams_name = $("#exams_name").val();
if(!exams_name){
alert("练习名称不能为空!");
return;
} var len = exams_name.length;
if(len>30){
alert("练习名称过长!");
return;
} var duration = $("#duration").val();
if(!duration){
alert("预计用时不能为空!");
return;
} var reg = new RegExp("^[0-9]*$");
if(!reg.test(duration)){
alert("预计用时需为数字!");
return;
}else if(duration>300){
alert("预计用时不能大于300!");
return;
} var questions = '';
questions=$(".addquestions").val(); if(!questions){
alert("您还没有添加问题!");
return;
}
$("#add").submit(); }); });

小结:这样利用js会更好。

优点如下:

函数化,很多功能可以重复利用。

常用函数,类化。这样很多文件都可以用它。更加的扩大了它的应用场所。

缺点:需要深入查找,才能看到代码。

可以把一些常用的方法,写入js文件,引入html界面的更多相关文章

  1. vue脚手架使用swiper /引入js文件/引入css文件

    1.安装vue-cli 参考地址:https://github.com/vuejs/vue-cli 如果不使用严格语法需要在后三项打no:(加了挺头疼的,老是报错,但是对自己的代码规范性也是有很大的帮 ...

  2. vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件

    vue引入swiper  vue使用swiper  vue脚手架使用swiper /引入js文件/引入css文件 ------------------------------------------- ...

  3. vue项目引入第三方js插件,单个js文件引入成功,使用该插件方法时报错(问题已解决)

    1.引入第三方js文件,npm安装不了 2.控制台显示引入成功 3.在methods下使用 图片看不清请看下面代码 updateTime() { setInterval(()=>{ var cd ...

  4. JavaScript的8行代码搞定js文件引入问题

    单页面的操作,免不了会有各种jsp的嵌套问题,一个操作页面里面可能涉及到几十甚至上百个jsp页面. 平常我们对用到的js文件的引入,都会放到index的header里面.如图: 但是,让我们思考三个问 ...

  5. js文件引入

    js文件内引用js文件使用 document.write("<script language='javascript' src='scripts/lang/chs.js'>< ...

  6. 在vue的js文件引入自定义js文件

    自定义js var provinces=[] export default provinces vue页面js引入 import riskLeft from "./index.js" ...

  7. thinkphp遇到的小问题,js文件中U方法不被解析

    我想在js文件中写ajax, 写完发现异常, 本以为是js文件中不支持ajax 后来发现时地址解析错误. 也就是U方法在js文件中不被解析. 貌似thinkphp解析,tpl文件中的一些元素. js文 ...

  8. 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)

    public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...

  9. vue中如何在本地导入js文件

    import {setStore,setUser,getStore,removeStore} from "../../../public/localstory" 在导入js文件时, ...

随机推荐

  1. Android Scroller类的详细分析

    尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/7321910 Scroller这个类理解起来有一定的困难,刚开始接触Scrol ...

  2. C++ XML 解释库

    rapidxml  http://rapidxml.sourceforge.net/index.htm

  3. [Codeforces 501D] - Misha and Permutations Summation

    题意是给你两个长度为$n$的排列,他们分别是$n$的第$a$个和第$b$个全排列.输出$n$的第$\left(a+b \right)\textrm{mod} \, n!$个全排列. 一种很容易的想法是 ...

  4. Dedecms调用文章发布时间的方法

    在织梦系统中,有时候需要调用文章发布的时间,格式不同,代码不同.现总结织梦系统dedecms调用文章发布时间的几种方法.   11-20 样式 ([field:pubdate function='st ...

  5. jQuery的选择器中的通配符[id^='code']或[name^='code']

    这两天在做一个专题的时候遇到了一个通配符的问题 //弹层操作$(function(){ //视频播放 $("a[href^='#video']").each(function(in ...

  6. 在CSS文件中引入其他CSS文件

    引入CSS的方法有两种,一种是@import,一种是link 一.@import url('地址');二.<link href="地址" rel="styleshe ...

  7. css.day.05.eg

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. My.Ioc 代码示例——使用观察者机制捕获注册项状态的变化

    在 My.Ioc 中,要想在服务注销/注册时获得通知,可以通过订阅 ObjectBuilderRegistered 和 ObjectBuilderUnregistering 这两个事件来实现.但是,使 ...

  9. Android客户端采用Http 协议Post方式请求与服务端进行数据交互(转)

    http://blog.csdn.net/javanian/article/details/8194265

  10. 【转】 iOS 原生二维码扫描(可限制扫描区域)

    在用 AVFoundation 完成扫码后,遇到2个问题: 1,如何限制扫描范围? 2.条形码如何扫描? 一位朋友的文章帮助了我,特地转来,可以帮到有需要的朋友. 原文:http://blog.csd ...