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

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

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

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会更好。

优点如下:

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

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

 

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