EasyUI是基于jQuery的用户界面插件集合;DataGrid是数据表格;
ThinkPHP是快速、简单的基于MVC和面向对象的轻量级PHP开发框架。
使用的集成开发环境是 WAMPSever,(wampserver是一个集成了Apache、PHP和MySQL的开发套件,而且支持不同PHP版本、MySQL版本和Apache版本的切换)
效果如下:
主要代码如下
1、定义一个表格
<table id="dg" class="easyui-datagrid" title="DataGrid Complex Toolbar" style="width:700px;height:250px" data-options="rownumbers:true,singleSelect:true,url:'{:U(read)}',method:'get',toolbar:'#tb'"> <thead> <tr> <th data-options="field:'ID',width:80,align:'center'">ID</th> <th data-options="field:'Product',width:100">Product</th> <th data-options="field:'Content',width:500,align:'center'">Content</th> </tr> </thead></table>
class="easyui-datagrid"是easyui里面自定义的格式,data-options用来初始化属性,这里面的属性包括rownumbers显示行数,singleSelect表示行的选中状态;
url:'{U(read)}'首先,ThinkPHP的U方法(参考:http://www.thinkphp.cn/info/132.html)用来完成对URL地址的组装,在模板中的调用采用 {:U('地址', '参数'…)} 的方式,其次,EasyUI采用的数据格式是json,控制器里面的read方法输出一个json格式的数据。toolbar:'#tb'这个是表格的工具栏,就是增加、删除和修改。
定义表格的工具栏如下:
<div id="tb" style="padding:2px 5px;"> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" onClick="addPro()"></a> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editPro()"></a> <a href="javascrtpt:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="removePro()"></a> </div>
注意:这里面的id要和 toolbar:'#tb' 相对应;
2、点击增加和修改的时候要弹出一个对话框,代码如下:
<!--the page of dialog--> <div id="dl" class="easyui-dialog" style="width:400px;height:280px;padding:10px 20px" closed="true" footer="ft" buttons="#dlg-buttons"> <div class="ftitle">Information</div> <form id="am" method="post" novalidate > Product:<input type="text" name="Product" class="easyui-validatebox" required="true"/></br> Content:<Textarea name="Content" rows="5" cols="45"></Textarea></br> </form> </div>
class='easyui-dialog'定义了一个对话框,因为要和后台交互,在这个对话框里面装了一个form,里面的input元素有些需要进行验证,required="true"表示必须填写元素
class="easyui-validatebox"定义了验证失败后的提示,buttons="#dlg-buttons"表示这个对话框下面的两个确认,取消按钮。novalidate表示不验证。
对话框中的按钮:
<div id="dlg-buttons"> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-ok" onclick="savePro()">Save</a> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dl').dialog('close')">Cancel</a></div>
3、页面js函数
<script type="text/javascript"> var url; function addPro(){ $('#dl').dialog('open').dialog('setTitle','New Information'); $('#am').form('clear'); url = '__URL__/insert'; } function editPro(){ var row = $("#dg").datagrid("getSelected"); if(row){ $("#dl").dialog("open").dialog("setTitle","Change Information"); $("#am").form("load",row); url = '__URL__/update?ID='+row.ID;//为update方法准备访问url,注意是全局变量 } } function savePro(){ $('#am').form('submit',{ url: url, onSubmit: function(){ return $(this).form('validate'); }, success: function(result){ var result = eval('('+result+')'); if (result.success){ $('#dl').dialog('close'); // close the dialog $('#dg').datagrid('reload'); // reload the user data } else { $.messager.show({ title: 'Error', msg: result.msg }); } } }); } function removePro() { var row = $('#dg').datagrid('getSelected'); if (row){ $.messager.confirm('Confirm','Are you sure you want to remove this row?',function(r){ if (r){ $.post('__URL__/delete',{ID:row.ID},function(result){ if (result.success){ $('#dg').datagrid('reload'); // reload the user data } else { $.messager.show({ // show error message title: 'Error', msg: result.msg }); } },'json'); } }); } } </script>
JS还不是很会,所以参考了网上的代码。 $.messager.show是EasyUI提供的消息提示框(参考:http://www.jeasyui.net/demo/371.html),可以在屏幕右下角显示一个消息窗口。$.messager.confirm是交互式消息,弹出一个消息确认框。
4、控制器里面的代码(IndexAction.class.php)
<?php// 本类由系统自动生成,仅供测试用途class IndexAction extends Action { public function index(){ $this->display(); } publicfunction read(){
$Test = M('test'); /*$Total = $Test->count(); $Json = '{"total":'.$Total.',"rows":'.json_encode($Test->select()).'}';*/ $Json = json_encode($Test->select()); echo $Json;
} public function insert(){ $data = $this->_post(); $Test = M('Test'); $result = $Test->add($data); if($result) { echo json_encode(array('success'=>true)); }else { echo json_encode(array('msg'=>'Some error occured')); } } public function update($ID=0){ $Test = M('test'); $ID = $_GET['ID']; if($Test->create()) { $Test->ID = $ID; $result = $Test->save(); if($result) { echo json_encode(array('success'=>true)); }else { echo json_encode(array('msg'=>'Some error occured')); } }else{ $this->error($Test->getError()); } } public function delete($ID=0){ $result = false; $Test = M('test'); $result = $Test->where('ID='.$ID)->delete(); if($result==false){ echo json_encode(array('msg'=>'删除出错!')); }else{ echo json_encode(array('success'=>true)); } } }?>

HTML의 핵심 목적은 브라우저가 웹 컨텐츠를 이해하고 표시 할 수 있도록하는 것입니다. 1. HTML은 TO 등과 같은 태그를 통해 웹 페이지 구조와 컨텐츠를 정의합니다. 2. HTML5는 멀티미디어 지원을 향상시키고 소개 및 태그를 향상시킵니다. 3.html은 사용자 상호 작용을 지원하기위한 양식 요소를 제공합니다. 4. HTML 코드를 최적화하면 HTTP 요청 감소 및 HTML 압축과 같은 웹 페이지 성능이 향상 될 수 있습니다.

htmltagsareessentialforwebdevelopmentasthuctureandenhancewebpages.1) thefinelayout, semantics 및 internactivity.2) semantictagsimproveAccessibility 및 sseo.3) appleasoftagscanoptimizeperformanceandenseRocRossercompatiber.

일관된 HTML 인코딩 스타일은 코드의 가독성, 유지 가능성 및 효율성을 향상시키기 때문에 중요합니다. 1) 소문자 태그 및 속성 사용, 2) 일관된 압입 유지, 3) 단일 또는 이중 인용문을 선택하고 고수하십시오. 4) 프로젝트에서 다양한 스타일을 혼합하지 않으십시오.

솔루션 Bootstrap4에서 다중 프로 젝트 회전 목마를 구현하는 것은 부트 스트랩 4에서 멀티 프로 젝트 회전 목마를 구현하는 것은 쉬운 일이 아닙니다. 부트 스트랩 ...

마우스 스크롤링 이벤트 침투의 효과를 달성하는 방법은 무엇입니까? 웹을 탐색하면 종종 특별한 상호 작용 디자인이 발생합니다. 예를 들어, DeepSeek 공식 웹 사이트에서 � ...

HTML 비디오의 기본 재생 제어 스타일은 CSS를 통해 직접 수정할 수 없습니다. 1. JavaScript를 사용하여 사용자 정의 컨트롤을 만듭니다. 2. CSS를 통해 이러한 통제를 아름답게합니다. 3. video.js 또는 plyr와 같은 라이브러리를 사용하여 호환성, 사용자 경험 및 성능을 고려하면 프로세스를 단순화 할 수 있습니다.

휴대 전화에서 기본 선택을 사용하는 데있어 잠재적 인 문제는 모바일 애플리케이션을 개발할 때 종종 상자를 선택해야 할 필요가 있습니다. 일반적으로 개발자 ...

휴대 전화에서 기본 선택을 사용하는 단점은 무엇입니까? 모바일 장치에서 애플리케이션을 개발할 때는 올바른 UI 구성 요소를 선택하는 것이 매우 중요합니다. 많은 개발자 ...


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Dreamweaver Mac版
시각적 웹 개발 도구