jQuery备忘

   1、单击时,取得动态添加的元素ID,不能用click要用live

   eg:

$(".folder").live("click", function(e){
   $.post("participant.do?method=getChildParticipant&id="+$(this).attr('id')+"&typeCode="+$(this).attr('name'),
      function(data){
       var $objChild = $(e.target);
    var data = eval("("+data+")");
    if(data!=null){
     $objChild.parent().append("<ul></ul>");
    }
    $.each(data,function(index, content){
     
     if(content.typeCode!="person"){
       $objChild.siblings("ul").append("<li class='closed'><span class='folder' id='"+content.id+"' name='"+content.typeCode+"'>"+content.name+"</span></li>");
      }else{
       $objChild.siblings("ul").append("<li><span class='file'>"+content.name+"</span></li>");
      }
    });
   });

 

2、向回调函数传递对象,如:在异步提交post的时候,我们要获取点击按钮触发post的对象

eg:

 $(".folder").live("click", function(e){        //传入参数e
   $.post("participant.do?method=getChildParticipant&id="+$(this).attr('id')+"&typeCode="+$(this).attr('name'),
      function(data){
       var $objChild = $(e.target);         //通过$(e.target)取得对象
    var data = eval("("+data+")");
    if(data!=null){
     $objChild.parent().append("<ul></ul>");
    }
    $.each(data,function(index, content){
     
     if(content.typeCode!="person"){
       $objChild.siblings("ul").append("<li class='closed'><span class='folder' id='"+content.id+"' name='"+content.typeCode+"'>"+content.name+"</span></li>");
      }else{
       $objChild.siblings("ul").append("<li><span class='file'>"+content.name+"</span></li>");
      }
    });
   });

3、$.grep(array, fn)  通过函数fn来过滤array, 将array中的元素依次传给fn, fn必须返回一个boolen,如果fn返回true,将被过滤。

4、在获取一个select里的option的value时,用$('.select').val()就能获取,不过它们的值用','隔开(select里有class=select)

5、用$.post传select的option值(数租)到后台:

eg:

前台:

$("#okBtn").click(function(){
     var realvalues = [];   //定义一个数组
      $('.select option').each(function(i) {
      realvalues[i] = $(this).val(); //逐个获取option的值,将其放入数组中
     }); 
   $.post("purchase.do?method=delegateWorkItem&selectedPar="+realvalues+"&id="+$("#workItemID").val(),function(data){ //用post提交后台
    var data = eval("("+data+")");
    if(data.mess=="success"){
     alert("改派成功!");
     window.dialogArguments.location.href="<%=request.getContextPath() %>/purchase.do?method=findTask";
     window.close();
     
    }else{
     alert("改派失败!");
     window.dialogArguments.location.href="<%=request.getContextPath() %>/purchase.do?method=findTask";
     window.close();
     
    }
   });
  });

后台:

后台用request.getParameterValues(参数)获取

eg:String[] usernames = request.getParameterValues("selectedPar");


----------------------------------------------------------------------------

选择器中的符号 > 是表示该元素的子元素 : 如: <form id=‘form1’> <table> <tr> <td> <input name='ss' value='ss1'>

则不能用$('#form1>input[name='ss'][value=ss1]]'), 应该为 $('#form1 input[name='ss'][value=ss1]]'), 


表单增加属性:

jQuery < 1.6时,

$("").attr('checked', true);

jQuery > 1.6时,

$("").prop('checked', true);

你可能感兴趣的:(jQuery备忘)