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);