可以把一些常用的方法,写入js文件,引入html界面
这样,可以在多处应用。更好一些。缺点是不够灵活。
优点是,一处修改,多处应用。
函数这东西,一般都是先加载的,之后就可以随便调用了。
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界面的更多相关文章
- vue脚手架使用swiper /引入js文件/引入css文件
1.安装vue-cli 参考地址:https://github.com/vuejs/vue-cli 如果不使用严格语法需要在后三项打no:(加了挺头疼的,老是报错,但是对自己的代码规范性也是有很大的帮 ...
- vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件
vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件 ------------------------------------------- ...
- vue项目引入第三方js插件,单个js文件引入成功,使用该插件方法时报错(问题已解决)
1.引入第三方js文件,npm安装不了 2.控制台显示引入成功 3.在methods下使用 图片看不清请看下面代码 updateTime() { setInterval(()=>{ var cd ...
- JavaScript的8行代码搞定js文件引入问题
单页面的操作,免不了会有各种jsp的嵌套问题,一个操作页面里面可能涉及到几十甚至上百个jsp页面. 平常我们对用到的js文件的引入,都会放到index的header里面.如图: 但是,让我们思考三个问 ...
- js文件引入
js文件内引用js文件使用 document.write("<script language='javascript' src='scripts/lang/chs.js'>< ...
- 在vue的js文件引入自定义js文件
自定义js var provinces=[] export default provinces vue页面js引入 import riskLeft from "./index.js" ...
- thinkphp遇到的小问题,js文件中U方法不被解析
我想在js文件中写ajax, 写完发现异常, 本以为是js文件中不支持ajax 后来发现时地址解析错误. 也就是U方法在js文件中不被解析. 貌似thinkphp解析,tpl文件中的一些元素. js文 ...
- 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)
public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...
- vue中如何在本地导入js文件
import {setStore,setUser,getStore,removeStore} from "../../../public/localstory" 在导入js文件时, ...
随机推荐
- asp.net mvc vs web form
译者介绍 小小.NET学童,滴答…滴答…的雨…… 正文如下======================================================= 原文示例(VS2012): 1 ...
- linux(centos)上配置nginx、mysql、php-fpm、redis开机启动<转>
原文 http://levi.cg.am/archives/2925 I.nginx开机启动 在/etc/init.d/目录下创建脚本 1 vi /etc/init.d/nginx 更改脚本权限 1 ...
- Miller_Rabin codevs 1702 素数判定2
/* 直接费马小定理 */ #include<iostream> #include<cstdio> #include<cstdlib> #include<ct ...
- jquery属性选择器之 attr
在温习jquery手册的时候,注意到这个,坐下记录. attr(name|properties|key,value|fn) 获取匹配的元素集合中的第一个元素的属性的值 或 设置每一个匹配的元素的一个或 ...
- 刷新的时候jquery获取checkbox是否为选中和设置选中
$(document).ready(function(){ $('.uninstall_list_checkbox').click(function(){ if($(this).parent('.un ...
- iOS关于sqlite3操作
原文:http://hi.baidu.com/clickto/blog/item/0c6904f787c34125720eec87.html iPhone中支持通过sqlite3来访问iPhone本地 ...
- 写一个基于NSURLSession的网络下载库
前段时间AFNetworking 更新到3.0 ,彻底废弃NSURLConnection的API转由NSURLSession来实现,代码并没有改动很大,AF封装的很好了,读完源码感觉收获很大. 下载不 ...
- 02-测试、文件读写、xml解析
测试 黑盒测试 测试逻辑业务 白盒测试 测试逻辑方法 根据测试粒度 方法测试:function test 单元测试:unit test 集成测试:integration test 系统测试:syste ...
- 自定义UITableViewCell时, 使用autoLayout, 无法很好的做到屏幕适配
解决方法: 重写cell的setFrame方法即可 - (void)setFrame:(CGRect)frame { frame.size.width = self.window.frame.size ...
- JavaScript 之 关键内容
词法作用域.调用对象.作用域链.闭包.构造函数.原型.类.继承 局部变量查找路径 属性查找路径