jquery ajax雙擊div可直接修改div中的內容,jqueryajax
最近在做後台功能開發的時候,用到對排序欄位的修改,感覺只為了修改一個排序值,而要重新進入編輯頁比較麻煩,於是網上找點資料自己動手寫了一個jquery雙擊實現直接修改排序值的效果:
html代碼:
<div title="【雙擊可直接修改】" class="changeSort" id="{$id}">{$sort}</div>
JS代碼:
<script type="text/javascript">//雙擊修改排序 $('.changeSort').dblclick(function(){ var url = "{:U('setSort')}"; var td = $(this); var id = td.attr('id'); var text = td.text(); var txt = $("<input type='text' class='input-small' >").val(text); txt.blur(function(){ // 失去焦點,儲存值。於伺服器互動自己再寫,最好ajax var newText = $(this).val(); $.ajax({ url:url, type:'POST', data:{'tid':id,'sort':newText}, dataType:'json', success:function(res){ if(res.flag==1){ layer.msg(res.msg); // 移除文字框,顯示新值 $(this).remove(); td.text(newText); }else if(res.flag==3){ layer.msg(res.msg); txt.val(newText); } } }); }); td.text(""); td.append(txt); });</script>
PHP代碼:
<?PHP/** * ajax 設定排序值 */ public function setSort(){ if(IS_POST){ $tid = I('post.tid'); $sort = I('post.sort'); if(!is_numeric($sort)){ $arr = array( 'flag'=>3, 'msg'=>'請輸入數字', 'link'=>'', 'content'=>'' ); $this->ajaxReturn($arr); } $data = array( 'id'=>$tid, 'sort'=>$sort ); $this->mod_sort = M('Sort'); $res = $this->mod_sort->save($data); if($res){ $arr = array( 'flag'=>1, 'msg'=>'排序值設定成功', 'link'=>'', 'content'=>'' ); }else{ $arr = array( 'flag'=>2, 'msg'=>'排序值設定失敗', 'link'=>'', 'content'=>'' ); } }else{ $arr = array( 'flag'=>0, 'msg'=>'請求非法!', 'link'=>'', 'content'=>'' ); } $this->ajaxReturn($arr); }?>
效果如:
以上就是本文的全部內容,希望對大家的學習有所協助。
您可能感興趣的文章:
- div彈出層的ajax登入(Jquery版+c#)
- jQuery拖動div、移動div、彈出層實現原理及樣本
- jquery滑鼠放上去顯示懸浮層即彈出定位的div層
- jquery動態調整div大小使其寬度始終為瀏覽器寬度
- jquery實現html頁面 div 假分頁有原理有代碼
- jquery和js實現對div的隱藏和顯示方法
- 原生js和jQuery隨意改變div屬性style的名稱和值
- jQuery實現DIV層收縮展開的方法
- JQuery顯示、隱藏div的幾種方法簡明總結
- jQuery實現動態添加和刪除一個div