您好,欢迎访问一九零五行业门户网

php实战第九天_PHP教程

1.jquery事件可以绑定n个,如果不进行取消就会重复调用绑定的事件。深感体会,搞了两小时终于发现其中奥妙。
以下代码不能单独运行的。需要 bootstrap和jquery
[javascript]  /**
* 用于显示对话框消息框
* 参数 title 消息标题
* 参数 content 消息内容
* 参数 buttomtitle 处理消息的按钮自定义的,比如确认删除
* 参数 fun 自定义按钮click事件
* 参数 passondata 传递到自定义fun里的参数
*/ 
function show_msg (title,content,buttomtitle,fun,passondata) { 
    $(#msg #mymodallabel).html(title); 
    $(#msg .modal-body).html(content); 
    $('#msg #msg_c').html(buttomtitle).click(function(){ 
        fun(passondata);//调用自定义的函数,以及传递自定义的数据  
        $('#msg').modal('hide');//点击完就把窗口隐藏了  
        $(this).unbind('click');//如果不取消事件,那么将重复调用。。  
    });; 
    $('#msg').modal('show'); 

/**
* 用于显示对话框消息框
* 参数 title 消息标题
* 参数 content 消息内容
* 参数 buttomtitle 处理消息的按钮自定义的,比如确认删除
* 参数 fun 自定义按钮click事件
* 参数 passondata 传递到自定义fun里的参数
*/
function show_msg (title,content,buttomtitle,fun,passondata) {
 $(#msg #mymodallabel).html(title);
 $(#msg .modal-body).html(content);
 $('#msg #msg_c').html(buttomtitle).click(function(){
  fun(passondata);//调用自定义的函数,以及传递自定义的数据
  $('#msg').modal('hide');//点击完就把窗口隐藏了
  $(this).unbind('click');//如果不取消事件,那么将重复调用。。
 });;
 $('#msg').modal('show');
}html消息框模板
[html]
×
取消
×
取消
调用例程
[javascript]  show_msg('标题要长长长长的','这里可以写html比如加粗的的字体噢','删除',function(e){ 
    alert(e); 
},'这里是点击删除后我传递过去的数据'); show_msg('标题要长长长长的','这里可以写html比如加粗的的字体噢','删除',function(e){
 alert(e);
},'这里是点击删除后我传递过去的数据');
[javascript]  function admin_content_del (id) { 
    var data=listdata[id]; 
    show_msg('确认删除',data.content,'确认删除',function(delid){ 
        $.ajax({ 
          url: 'http://localhost/l/index.php', 
          type: 'get', 
          datatype: 'json', 
          data: { 
            m: 'admin', 
            a: 'delcontent', 
            id: delid 
          }, 
          complete: function(xhr, textstatus) { 
            //called when complete  
          }, 
          success: function(data, textstatus, xhr) { 
            if(data.state='ok'){ 
                admin_content(1); 
                show_msg_success('删除成功');
}else{ 
                show_msg_success('删除失败'); 
            } 
          }, 
          error: function(xhr, textstatus, errorthrown) { 
            //called when there is an error  
          } 
        });
},data.id); 

function admin_content_del (id) {
 var data=listdata[id];
 show_msg('确认删除',data.content,'确认删除',function(delid){
  $.ajax({
    url: 'http://localhost/l/index.php',
    type: 'get',
    datatype: 'json',
    data: {
     m: 'admin',
     a: 'delcontent',
     id: delid
    },
    complete: function(xhr, textstatus) {
      //called when complete
    },
    success: function(data, textstatus, xhr) {
     if(data.state='ok'){
      admin_content(1);
      show_msg_success('删除成功');
}else{
      show_msg_success('删除失败');
     }
    },
    error: function(xhr, textstatus, errorthrown) {
      //called when there is an error
    }
  });
},data.id);
}
2.settimeout延迟执行事件,这消息过真不错,挺常用的,但是这清空消息的方式,简单粗暴。
[javascript]  /**
* 用于显示顶部消息。显示的消息3秒后自动销毁。
* 参数 content 消息内容
* 参数 face 消息的样式,真,为成功绿色的;假,为错误红色的
*/ 
function show_msg_success(content,face){ 
    if (face==null) { 
        face=true; 
    }
face = face?'success':'error';
strtag='
'+content+'
';
$(strtag).prependto('#main');
settimeout(function(){ 
        $(.alert).alert('close'); 
    },3000); 
} /**
* 用于显示顶部消息。显示的消息3秒后自动销毁。
* 参数 content 消息内容
* 参数 face 消息的样式,真,为成功绿色的;假,为错误红色的
*/
function show_msg_success(content,face){
 if (face==null) {
  face=true;
 }
 face = face?'success':'error';
strtag='
'+content+'
'; $(strtag).prependto('#main');
 settimeout(function(){
  $(.alert).alert('close');
 },3000);
}
3.checkbox选中还是纯dom操作好. jquery的arrt()方法坑爹
checkbox.attr('checked',$(this).get()[0].checked);
选中复选框,但是第一次有效,第二次也有效,第三次以后,离奇失效了。问题不名真相。
[javascript]  function click_tr() { 
    var checkbox = $(#maindata tr input);
checkbox.eq(0).click(function() { 
        //checkbox.attr('checked',$(this).get()[0].checked);
bool = $(this).get()[0].checked;
for (var i = 1; i             checkbox[i].checked = bool; 
        };
});
$(#maindata tr).each(function(index) { 
        $(this).click(function() {
if (index == 0) {
} else { 
                var val = checkbox.eq(index); 
                    val = val.get()[0]; 
                var bool = val.checked;
//alert(index);  
                if (bool) { 
                    val.checked = false; 
                } else { 
                    val.checked = true; 
                } 
            }
});
}); 
function click_tr() {
 var checkbox = $(#maindata tr input);
 checkbox.eq(0).click(function() {
  //checkbox.attr('checked',$(this).get()[0].checked);
  bool = $(this).get()[0].checked;
  for (var i = 1; i    checkbox[i].checked = bool;
  };
 });
 $(#maindata tr).each(function(index) {
  $(this).click(function() {
   if (index == 0) {
   } else {
    var val = checkbox.eq(index);
        val = val.get()[0];
    var bool = val.checked;
    //alert(index);
    if (bool) {
     val.checked = false;
    } else {
     val.checked = true;
    }
   }
});
 });进行探究一番写了一测试代码,但是依然无果,不明真相的全选不了。
[html]
全选 
取消选中
全选
取消选中
$(#quxiao).click(function(){
  $(#myform input).attr('checked',false);
 });
});
4.说了这么多都没上效果图呢.
5.标题说是php实战,怎么前面帖的都是php代码。。下面帖出处理批量删除的php代码
[php] /**
* 用于批量删除留言
*/ 
function batchdelcontent(){ 
    $json['state']=no;
$data=array();
$arr=$_post['delcontent']; 
    if (count($arr)>0) { 
        $json['state']=ok; 
    }
foreach ($arr as $value) {
$result=$this->db 
             ->where(id=.$value) 
             ->table(data) 
             ->delete();
if ($result) { 
            $arr_data['state']=ok; 
        }else{ 
            $arr_data['state']=no; 
        } 
        $arr_data['id']=$value;
$data[]=$arr_data; 
    }
$json['data']=$data; 
    echo json_encode($json); 

  /**
  * 用于批量删除留言
  */
  function batchdelcontent(){
   $json['state']=no;
   $data=array();
   $arr=$_post['delcontent'];
   if (count($arr)>0) {
    $json['state']=ok;
   }
   foreach ($arr as $value) {
    $result=$this->db
      ->where(id=.$value)
      ->table(data)
      ->delete();
    if ($result) {
     $arr_data['state']=ok;
    }else{
     $arr_data['state']=no;
    }
    $arr_data['id']=$value;
    $data[]=$arr_data;
   }
   $json['data']=$data;
   echo json_encode($json);
  }今天写的php代码也就这么点了。。大部分都是javascript
我把admin.js帖出来给大家观赏一下。
[javascript]  // javascript document  
$(document).ready(function(e) {
$(#menu a).click(function() {
switch ($(this).text()) { 
            case '所有留言': 
                admin_content(1); 
                break;
case '基本设置': 
                $(#main #maindata).load('admin_config.html?r='+math.random()); 
                break;
default: 
                break; 
        }
});
$(#main #maindata).load('admin_config.html?r='+math.random()); 
    //$(#start).click();  
});
/**
*留言管理
*/ 
listdata=null; 
function admin_content(page) {
$.ajax({ 
        url: 'http://localhost/l/admin.php?m=admin&a=content&page=' + page + '&rand=' + math.random(), 
        type: 'get', 
        datatype: 'json', 
        data: {}, 
        complete: function(xhr, textstatus) { 
            //called when complete  
        }, 
        success: function(json, textstatus, xhr) { 
            if (json['state'] == 'ok') { 
                var page_start = json['start'];//分页开始  
                var page_end = json['end'];//分页结束  
                var page_page = json['page'];//分页当前页面  
                    listdata = json['data'];//分页数据
table_html=''; 
                table_html+='批量删除'; 
/**             
* 生成 表格内容
*/               
                table_html+= '
操作用户名留言内容发表时间
'; 
                for (i = 0; i                     var trclass = (i % 2 == 0) ? 'class=info' : '';
//var tr_html = '删除 ' + listdata[i].username + ' ' + listdata[i].content + '
' + getlocaltime(listdata[i].time) + '
';  
                    tr_html = ''; 
                    tr_html+=''+listdata[i].id+' '; 
                    //删除
tr_html+='' + listdata[i].username + ' '; 
                    tr_html+='' + listdata[i].content + '
'; 
                    tr_html+='' + getlocaltime(listdata[i].time) + '
';
table_html += tr_html; 
                } 
                table_html += '
';
/**
*生成分页
*/ 
                var page_html = ''; 
                if (page_end !== 0) { 
                    if (page_page == 1) { 
                        page_html = page_html + '«'; 
                    } else { 
                        page_html = page_html + '«'; 
                    } 
                } 
                for (var i = page_start; i                     if (page_page == i) { 
                        page_html = page_html + '' + i + ''; 
                    } else { 
                        page_html = page_html + '' + i + ''; 
                    }

                if (page_end !== 0) { 
                    if (page_page == page_end) { 
                        page_html = page_html + '»'; 
                    } else { 
                        page_html = page_html + '»'; 
                    }

                page_html = page_html + '
';
var maindata = $(#main #maindata); 
                maindata.html(table_html); 
                maindata.append(page_html);
admin_content_page(page_page,page_end); //挂接分页点击事件  
                click_tr();//挂接行点击事件;  
            }
//alert(json.data);  
        }, 
        error: function(xhr, textstatus, errorthrown) { 
            //called when there is an error  
        } 
    }); 
}
/**
* 挂机分页事件
* 参数 page_page 当前分页
* 参数 page_end  分页数量
*/ 
function admin_content_page(page_page,page_end) { 
    $(#mainpage a).click(function() { 
        var charstr = $(this).text(); 
        var num = charstr; 
        if (charstr == ») { 
            num = parseint(page_page) + 1; 
            if (page_end                 return; 
            }
} else if (charstr == «) { 
            num = parseint(page_page) - 1; 
            if (num                 return; 
            } 
        }
admin_content(num);
}); 
}
function getlocaltime(ns) { 
    return new date(parseint(ns) * 1000).tolocalestring().replace(/:\d{1,2}$/, ' '); 
}
function admin_content_del (id) { 
    var data=listdata[id]; 
    show_msg('确认删除',data.content,'确认删除',function(delid){ 
        $.ajax({ 
          url: 'http://localhost/l/index.php', 
          type: 'get', 
          datatype: 'json', 
          data: { 
            m: 'admin', 
            a: 'delcontent', 
            id: delid 
          }, 
          complete: function(xhr, textstatus) { 
            //called when complete  
          }, 
          success: function(data, textstatus, xhr) { 
            if(data.state='ok'){ 
                admin_content(1); 
                show_msg_success('删除成功');
}else{ 
                show_msg_success('删除失败'); 
            } 
          }, 
          error: function(xhr, textstatus, errorthrown) { 
            //called when there is an error  
          } 
        });
},data.id); 
}
function admin_content_del_pl() {
var checkbox = $(#maindata :checked);
var listid = array();
checkbox.each(function() { 
        //alert($(this).get()[0].name);  
        if ($(this).get()[0].name == 'delcontent[]') { 
            listid.unshift($(this).val()); 
        } 
    });
$.ajax({ 
      url: 'http://localhost/l/admin.php?m=admin&a=batchdelcontent', 
      type: 'post', 
      datatype: 'json', 
      data: {delcontent: listid 
      }, 
      complete: function(xhr, textstatus) { 
        //called when complete  
      }, 
      success: function(json, textstatus, xhr) { 
        if(json.state=='ok'){ 
            var data = json.data; 
            for (var i = 0; i                 if(data[i]['state']=='ok'){ 
                    show_msg_success(data[i].id + '删除成功'); 
                }else{ 
                    show_msg_success(data[i].id + '删除失败',false); 
                } 
            };
}else{

        admin_content(1); 
      }, 
      error: function(xhr, textstatus, errorthrown) { 
        //called when there is an error  
      } 
    });
//  alert(listid);  
}
/**
* 用于显示对话框消息框
* 参数 title 消息标题
* 参数 content 消息内容
* 参数 buttomtitle 处理消息的按钮自定义的,比如确认删除
* 参数 fun 自定义按钮click事件
* 参数 passondata 传递到自定义fun里的参数
*/ 
function show_msg (title,content,buttomtitle,fun,passondata) { 
    $(#msg #mymodallabel).html(title); 
    $(#msg .modal-body).html(content); 
    $('#msg #msg_c').html(buttomtitle).click(function(){ 
        fun(passondata);//调用自定义的函数,以及传递自定义的数据  
        $('#msg').modal('hide');//点击完就把窗口隐藏了  
        $(this).unbind('click');//如果不取消事件,那么将重复调用。。  
    });; 
    $('#msg').modal('show'); 

/**
* 用于显示顶部消息。显示的消息3秒后自动销毁。
* 参数 content 消息内容
* 参数 face 消息的样式,真,为成功绿色的;假,为错误红色的
*/ 
function show_msg_success(content,face){ 
    if (face==null) { 
        face=true; 
    }
face = face?'success':'error';
strtag=''+content+'
';
$(strtag).prependto('#main');
settimeout(function(){ 
        $(.alert).alert('close'); 
    },3000); 
}
//show_msg_content('啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊所得税')  
/*
show_msg('标题要长长长长的','这里可以写html比如加粗的的字体噢','删除',function(e){
    alert(e);
},'这里是点击删除后我传递过去的数据');
*/
function click_tr() { 
    var checkbox = $(#maindata tr input);
checkbox.eq(0).click(function() { 
        //checkbox.attr('checked',$(this).get()[0].checked);
bool = $(this).get()[0].checked;
for (var i = 1; i             checkbox[i].checked = bool; 
        };
});
$(#maindata tr).each(function(index) { 
        $(this).click(function() {
if (index == 0) {
} else { 
                var val = checkbox.eq(index); 
                    val = val.get()[0]; 
                var bool = val.checked;
//alert(index);  
                if (bool) { 
                    val.checked = false; 
                } else { 
                    val.checked = true; 
                } 
            }
});
}); 
} // javascript document
$(document).ready(function(e) {
 $(#menu a).click(function() {
  switch ($(this).text()) {
   case '所有留言':
    admin_content(1);
    break;
   case '基本设置':
    $(#main #maindata).load('admin_config.html?r='+math.random());
    break;
   default:
    break;
  }
});
$(#main #maindata).load('admin_config.html?r='+math.random());
 //$(#start).click();
});
/**
*留言管理
*/
listdata=null;
function admin_content(page) {
 $.ajax({
  url: 'http://localhost/l/admin.php?m=admin&a=content&page=' + page + '&rand=' + math.random(),
  type: 'get',
  datatype: 'json',
  data: {},
  complete: function(xhr, textstatus) {
   //called when complete
  },
  success: function(json, textstatus, xhr) {
   if (json['state'] == 'ok') {
    var page_start = json['start'];//分页开始
    var page_end = json['end'];//分页结束
    var page_page = json['page'];//分页当前页面
        listdata = json['data'];//分页数据
    table_html='';
    table_html+='批量删除';
/**    
* 生成 表格内容
*/    
    table_html+= '
操作用户名留言内容发表时间
';
    for (i = 0; i      var trclass = (i % 2 == 0) ? 'class=info' : '';     //var tr_html = '
删除 ' + listdata[i].username + ' ' + listdata[i].content + '
' + getlocaltime(listdata[i].time) + '
';
     tr_html = '';
     tr_html+=''+listdata[i].id+' ';
     //删除     tr_html+='
' + listdata[i].username + ' ';
     tr_html+='' + listdata[i].content + '
';
     tr_html+='' + getlocaltime(listdata[i].time) + '
';     table_html += tr_html;
    }
    table_html += '
';/**
*生成分页
*/
    var page_html = '
';
    if (page_end !== 0) {
     if (page_page == 1) {
      page_html = page_html + '«';
     } else {
      page_html = page_html + '«';
     }
    }
    for (var i = page_start; i      if (page_page == i) {
      page_html = page_html + '' + i + '';
     } else {
      page_html = page_html + '' + i + '';
     }    }
    if (page_end !== 0) {
     if (page_page == page_end) {
      page_html = page_html + '
»';
     } else {
      page_html = page_html + '»';
     }    }
    page_html = page_html + '
';
    var maindata = $(#main #maindata);
    maindata.html(table_html);
    maindata.append(page_html);
    admin_content_page(page_page,page_end); //挂接分页点击事件
    click_tr();//挂接行点击事件;
   }
//alert(json.data);
  },
  error: function(xhr, textstatus, errorthrown) {
   //called when there is an error
  }
 });
}
/**
* 挂机分页事件
* 参数 page_page 当前分页
* 参数 page_end  分页数量
*/
function admin_content_page(page_page,page_end) {
 $(#mainpage a).click(function() {
  var charstr = $(this).text();
  var num = charstr;
  if (charstr == ») {
   num = parseint(page_page) + 1;
   if (page_end     return;
   }
  } else if (charstr == «) {
   num = parseint(page_page) - 1;
   if (num     return;
   }
  }
  admin_content(num);
 });
}
function getlocaltime(ns) {
 return new date(parseint(ns) * 1000).tolocalestring().replace(/:\d{1,2}$/, ' ');
}
function admin_content_del (id) {
 var data=listdata[id];
 show_msg('确认删除',data.content,'确认删除',function(delid){
  $.ajax({
    url: 'http://localhost/l/index.php',
    type: 'get',
    datatype: 'json',
    data: {
     m: 'admin',
     a: 'delcontent',
     id: delid
    },
    complete: function(xhr, textstatus) {
      //called when complete
    },
    success: function(data, textstatus, xhr) {
     if(data.state='ok'){
      admin_content(1);
      show_msg_success('删除成功');
}else{
      show_msg_success('删除失败');
     }
    },
    error: function(xhr, textstatus, errorthrown) {
      //called when there is an error
    }
  });
},data.id);
}
function admin_content_del_pl() {
 var checkbox = $(#maindata :checked);
 var listid = array();
 checkbox.each(function() {
  //alert($(this).get()[0].name);
  if ($(this).get()[0].name == 'delcontent[]') {
   listid.unshift($(this).val());
  }
 });
 $.ajax({
   url: 'http://localhost/l/admin.php?m=admin&a=batchdelcontent',
   type: 'post',
   datatype: 'json',
   data: {delcontent: listid
   },
   complete: function(xhr, textstatus) {
     //called when complete
   },
   success: function(json, textstatus, xhr) {
     if(json.state=='ok'){
      var data = json.data;
      for (var i = 0; i        if(data[i]['state']=='ok'){
        show_msg_success(data[i].id + '删除成功');
       }else{
     show_msg_success(data[i].id + '删除失败',false);
       }
      };
     }else{
     }
     admin_content(1);
   },
   error: function(xhr, textstatus, errorthrown) {
     //called when there is an error
   }
 });
// alert(listid);
}
/**
* 用于显示对话框消息框
* 参数 title 消息标题
* 参数 content 消息内容
* 参数 buttomtitle 处理消息的按钮自定义的,比如确认删除
* 参数 fun 自定义按钮click事件
* 参数 passondata 传递到自定义fun里的参数
*/
function show_msg (title,content,buttomtitle,fun,passondata) {
 $(#msg #mymodallabel).html(title);
 $(#msg .modal-body).html(content);
 $('#msg #msg_c').html(buttomtitle).click(function(){
  fun(passondata);//调用自定义的函数,以及传递自定义的数据
  $('#msg').modal('hide');//点击完就把窗口隐藏了
  $(this).unbind('click');//如果不取消事件,那么将重复调用。。
 });;
 $('#msg').modal('show');
}
/**
* 用于显示顶部消息。显示的消息3秒后自动销毁。
* 参数 content 消息内容
* 参数 face 消息的样式,真,为成功绿色的;假,为错误红色的
*/
function show_msg_success(content,face){
 if (face==null) {
  face=true;
 }
 face = face?'success':'error';
strtag='
'+content+'
'; $(strtag).prependto('#main');
 settimeout(function(){
  $(.alert).alert('close');
 },3000);
}
//show_msg_content('啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊所得税')
/*
show_msg('标题要长长长长的','这里可以写html比如加粗的的字体噢','删除',function(e){
 alert(e);
},'这里是点击删除后我传递过去的数据');
*/
function click_tr() {
 var checkbox = $(#maindata tr input);
 checkbox.eq(0).click(function() {
  //checkbox.attr('checked',$(this).get()[0].checked);
  bool = $(this).get()[0].checked;
  for (var i = 1; i    checkbox[i].checked = bool;
  };
 });
 $(#maindata tr).each(function(index) {
  $(this).click(function() {
   if (index == 0) {
   } else {
    var val = checkbox.eq(index);
        val = val.get()[0];
    var bool = val.checked;
    //alert(index);
    if (bool) {
     val.checked = false;
    } else {
     val.checked = true;
    }
   }
  });
 });
}index.html代码
[html]
无标题文档
瀑布流留言板管理系统
留言管理
所有留言
网站管理
基本设置
其它类似信息

推荐信息