html + js 右 点击 弹出 菜单
页面
引用jar 包
<link rel="stylesheet" href="../../style/zui.min.css" type="text/css" media="screen" />
<script type="text/javascript" src="../../zui/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="../../zui/zui.min.js"></script>
'jquery.contextmenu.r2.js'
<!--右击 弹出的 下拉菜单-->
<div style="display:none;">
<div class="contextMenu" id="menu" >
<ul>
<li id="add">
<i class="icon-add"></i> 添加
</li>
<li id="update">
<i class="icon-edit"></i> 修改
</li>
<li id="delete">
<i class="icon-exit"></i> 删除
</li>
</ul>
</div>
</div>
<!-- 左侧导航-->
<div class="indmain" >
<div id="centerLeft" class="shenfenleft">
<div><span>请选择</span></div>
<div>
<input class="input_client text-input" type="text" id="Department">
<a href="#" class="button zi_searchEntuser" id="button_search">搜索</a>
</div>
<ul class="tree" data-ride="tree" id="tree">
</ul>
</div>
</div>
js 文件
//右击 弹出 菜单
function loadMenu(){
$('ul li a').contextMenu('menu',{
//菜单样式
menuStyle: {
},
//菜单项样式
itemStyle: {
fontFamily : 'verdana',
backgroundColor : '#333333',
color: 'white',
border: 'none',
padding: '1px'
},
//菜单项鼠标放在上面样式
itemHoverStyle: {
color: '#fff',
backgroundColor: '#0099CC',
border: 'none'
},
bindings:
{
'add': function(t, target) {
//alert(t.id+"|||"+ t.name);
RightOperation("add",t.name,target);
// alert('Trigger:' + t.id + ' 增加' + " taget by:" + $("td:eq(0)", target).text());
},
'update': function(t, target) {
RightOperation("update",t.name,target);
//alert('Trigger:' + t.id + ' 保存' + " taget by:" + $("td:eq(0)", target).text());
},
'delete': function(t, target) {
RightOperation("delete",t.name,target);
//alert('Trigger:' + t.id + ' 删除' + " taget by:" + $("td:eq(0)", target).text());
}
},
onShowMenu: function(e, menu) {
if (parseInt($("td:eq(0)", e.currentTarget).text()) > 10) {
$("#save", menu).remove();
}
$(e.currentTarget).siblings().removeClass("SelectedRow").end().addClass("SelectedRow");
return menu;
}
});
}
function RightOperation(type,val,target){
var list = val.split(":");
var num = list[0];
var id =list[1];
var name = list[2];
//添加级别
if(type=="add"){
if(num.indexOf("one")!=-1){ //操作区级单位
dialog.confirm("省级名称:<input type='text' id='unit_name' value='' style='width:180px;border:1px solid #cccccc' /><br/><br/>" +
"省级编码:<input type='text' id='unit_code' value='' style='width:180px;border:1px solid #cccccc'/><br/>",
function(){
//调用新增方法添加医院
var unit_name = $("#unit_name").val();
var unit_code = $("#unit_code").val();
var reg = /^[A-Za-z0-9\u4E00-\u9FA5]*$/;
var r = unit_name.match(reg);
if(unit_name==""){
dialog.alert("区级名称不能为空");
back;
}
if(unit_code==""){
dialog.alert("区级编码不能为空");
back;
}
if(r==null){
dialog.alert("区级名称只能输入数字、字母、汉字");
back;
}
var reg1 = /^[A-Za-z0-9]*$/;
var d = unit_code.match(reg1);
if(d==null){
dialog.alert("区级编号只能输入数字、字母");
back;
}
//var city_code =? //市级编码
var data = {"unit_name":unit_name,"unit_code":unit_code,"city_code":id};
insertUnit(data,target,unit_name,unit_code);
;
//动态加载右键事件
loadMenu();
},function(){
});
}
else if(num.indexOf("two")!=-1){ //操作医院单位
dialog.confirm("市(地级)级名称:<input type='text' id='org_name' value='' style='width:180px;border:1px solid #cccccc' /><br/><br/>" +
"市(地级)级编码:<input type='text' id='org_code' value='' style='width:180px;border:1px solid #cccccc'/><br/>",
function(){
//调用新增方法添加医院
var org_name = $("#org_name").val();
var org_code = $("#org_code").val();
var reg = /^[A-Za-z0-9\u4E00-\u9FA5]*$/;
var r = org_name.match(reg);
var reg1 = /^[A-Za-z0-9]*$/;
var d = org_code.match(reg1);
if(org_name==""){
dialog.alert("医院名称不能为空");
back;
}
if(org_code==""){
dialog.alert("医院编码不能为空");
back;
}
if(r==null){
dialog.alert("医院名称只能输入数字、字母、汉字");
back;
}
if(d==null){
dialog.alert("医院编号只能输入数字、字母");
back;
}
//var unit_code =?
var data = {"org_name":org_name,"org_code":org_code,"unit_code":id};
insertOrg(data);
//添加医院节点
$(target).parent().next().append('<div id="sfgc94" class="fff"><a style="padding-left: 20px;" name="three:'+org_code+':'+org_name+'" data-id="'+org_code+'" id="three003"><i class="icon-pack-2" style="color: #0099CC; font-size: 14px;"></i>'+org_name+'</a></div><div class="ps" id="fgcthree003" style="display:block"></div>');
//动态加载右键事件
loadMenu();
},function(){
});
}
else if(num.indexOf("three")!=-1){ //操作科室单位
dialog.confirm("县级名称:<input type='text' id='DepartmentName' value='' style='width:180px;border:1px solid #cccccc' /><br/><br/>" +
"县级编码:<input type='text' id='DepartmentCode' value='' style='width:180px;border:1px solid #cccccc'/>",
function(){
//调用新增方法添加科室
var DepartmentName = $("#DepartmentName").val();
var DepartmentCode = $("#DepartmentCode").val();
var reg = /^[A-Za-z0-9\u4E00-\u9FA5]*$/;
var r = DepartmentName.match(reg);
var reg1 = /^[A-Za-z0-9]*$/;
var d = DepartmentCode.match(reg1);
if(DepartmentName==""){
dialog.alert("科室名称不能为空");
back;
}
if(DepartmentCode==""){
dialog.alert("科室编码不能为空");
back;
}
if(r==null){
dialog.alert("区级名称只能输入数字、字母、汉字");
back;
}
if(d==null){
dialog.alert("区级编号只能输入数字、字母");
back;
}
var data = {"department_name":DepartmentName,"department_code":DepartmentCode,"org_code":id};
insertDepartment(data);
//添加科室节点
$(target).parent().next().append('<div class="bb"><a name="four:'+DepartmentCode+':'+DepartmentName+'" id="'+DepartmentCode+'"><i class="icon-about-us" style="color: #cccccc; font-size: 14px;"></i>'+DepartmentName+'</a></div>');
//动态加载右键事件
loadMenu();
},function(){
});
} else if(num.indexOf("four")!=-1){
dialog.alert("科室下面无需添加!");
}
}
//修改级别
else if(type=="update"){
if(num.indexOf("one")!=-1){
dialog.confirm("市级名称:<input type='text' id='city_name' style='width:180px;border:1px solid #cccccc' value='"+name+"'/><br/>",
function(){
//调用新增方法添加医院
var city_name = $("#city_name").val();
var city_code = id;
var reg = /^[A-Za-z0-9\u4E00-\u9FA5]*$/;
var r = city_name.match(reg);
if(city_name==""){
dialog.alert("市级名称不能为空");
back;
}
if(r==null){
dialog.alert("市级名称只能输入数字、字母、汉字");
back;
}
var data = {"city_name":city_name,"city_code":city_code};
updateCity(data);
$(target).html(city_name)
},function(){
});
}
else if(num.indexOf("two")!=-1){
dialog.confirm("区级名称:<input type='text' id='unit_name' style='width:180px;border:1px solid #cccccc' value='"+name+"' /><br/>",
function(){
//调用新增方法添加医院
var unit_name = $("#unit_name").val();
var unit_code = id;
var reg = /^[A-Za-z0-9\u4E00-\u9FA5]*$/;
var r = unit_name.match(reg);
if(unit_name==""){
dialog.alert("区级名称不能为空");
back;
}
if(r==null){
dialog.alert("区级名称只能输入数字、字母、汉字");
back;
}
var data = {"unit_name":unit_name,"unit_code":unit_code};
updateUnit(data);
$(target).html('<i class="icon-address" style="color: #0099CC; font-size: 14px;"></i>' + unit_name);
},function(){
});
}
else if(num.indexOf("three")!=-1){
dialog.confirm("医院名称:<input type='text' id='org_name' style='width:180px;border:1px solid #cccccc' value='"+name+"' /><br/>",
function(){
//调用新增方法添加医院
var org_name = $("#org_name").val();
var org_code = id;
var reg = /^[A-Za-z0-9\u4E00-\u9FA5]*$/;
var r = org_name.match(reg);
if(org_name==""){
dialog.alert("医院名称不能为空");
back;
}
if(r==null){
dialog.alert("医院名称只能输入数字、字母、汉字");
back;
}
//var unit_code =?
var data = {"org_name":org_name,"org_code":org_code};
updateOrg(data);
$(target).html('<i class="icon-add" style="color: #0099CC; font-size: 14px;"></i>' + org_name + '</a>')
},function(){
});
}
else if(num.indexOf("four")!=-1){
dialog.confirm("科室名称:<input type='text' id='DepartmentName' style='width:180px;border:1px solid #cccccc' value='"+name+"' />",
function(){
//调用新增方法添加科室
var DepartmentName = $("#DepartmentName").val();
var DepartmentCode = id;
var reg = /^[A-Za-z0-9\u4E00-\u9FA5]*$/;
var r = DepartmentName.match(reg);
if(DepartmentName==""){
dialog.alert("科室名称不能为空");
back;
}
if(r==null){
dialog.alert("科室名称只能输入数字、字母、汉字");
back;
}
var data = {"department_name":DepartmentName,"department_code":DepartmentCode};
updateDepartment(data);
$(target).html('<i class="icon-about-us" style="color: #cccccc; font-size: 14px;"></i>'+DepartmentName);
},function(){
});
}
}
//删除级别
else if(type=="delete"){
if(num.indexOf("one")!=-1){
dialog.confirm("是否删除<br/>",
function(){
var data = {"city_name":name,"city_code":id};
citySelectUnit(id);
if(unitname.length==0){
deleteCity(data,target);
}
else{
dialog.alert("该城市下还存在区级信息,不能直接删除!");
}
},function(){
return;
});
}
else if(num.indexOf("two")!=-1){
dialog.confirm("是否删除<br/>",
function(){
var data = {"unit_name":name,"unit_code":id};
unitCodeSelectOrg(id);
if(Hospitalinfo.length==0){
deleteUnit(data,target);
}
else{
dialog.alert("该区下还存在医院信息,不能直接删除!");
}
// $(target).remove();
//$(target).parent().html("");
},function(){
});
}
else if(num.indexOf("three")!=-1){
dialog.confirm("是否删除<br/>",
function(){
var data = {"org_name":name,"org_code":id};
orgCodeSelectDepartment(id);
if(Department.length==0){
deleteOrg(data,target);
}
else{
dialog.alert("该医院下还存在科室信息,不能直接删除!");
}
// $(target).parent().parent().html("");
//$(target).parent().siblings(1).html("");
},function(){
});
}
else if(num.indexOf("four")!=-1){
dialog.confirm("是否删除<br/>",
function(){
var data = {"department_name":name,"department_code":id};
deleteDepartment(data,target);
},function(){
});
}
}
}
html + js 右 点击 弹出 菜单的更多相关文章
- 如何不使用js实现鼠标hover弹出菜单效果
最近看到很多同学在实现鼠标hover弹出菜单的效果时都是用的js代码去实现的,默认给弹出隐藏掉,通过js事件绑定动态的显/隐弹出菜单元素. <ul> <li>主页</li ...
- 鼠标右键点击弹出菜单(jQuery)
禁用浏览器默认事件,此处是兼容写法 $(document).contextmenu(function (e) { var event = e || window.event; if (event.pr ...
- JS实现点击弹出对应的索引
如果这样写的话 ,弹出来一直是2,原因 这个i ,循环已经结束,i 的值已经是2了,所以需要再前面添加: items[i].index=i; //添加一个属性 ,技术一下 这个索引值 aler ...
- Mui --- 弹出菜单
mui框架内置了弹出菜单插件,弹出菜单显示内容不限,但必须包裹在一个含.mui-popover类的div中,如下即为一个弹出菜单内容: <div id="popover" c ...
- mui-popover显示、隐藏弹出菜单的方法
一.mui-popover要显示.隐藏弹出菜单,可使用锚点方式. <div id="popover" class="box mui-popover mui-popp ...
- jQuery之点击弹出图标环形菜单
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- JQuery实现复制数据到剪贴板之各种麻花与右键点击弹出选择菜单
1.如果小伙伴们只是想实现点击某个按钮(通过click事件)实现复制功能. 那小哥哥我在这里推荐大家使用2个非常好用的插件 (1)clipboard.js:纯js插件,无需flash,相对来说更轻量级 ...
- JS 点击弹出图片/ 仿QQ商城点击左右滚动幻灯片/ 相册模块,点击弹出图片,并左右滚动幻灯片
1, 点击弹出图片 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- 工作当中实际运用(3)——js原生实现鼠标点击弹出div层 在点击隐藏
function onmou(){ var divs=document.getElementById('kefuDV');//获取到你要操作的div if (divs.style.display==& ...
随机推荐
- C# Hashtable 简述
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中 ...
- C\C++编程中:相对路径+绝对路径
电脑硬盘E盘下,建文件夹“test”,"test"下建立子文件夹“file”,"file"下建子文件夹“data”, 电脑资源管理器显示目录 E:\test\ ...
- C++开发必看 四种强制类型转换的总结 [转]
一.C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a 二.C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用. co ...
- 转载:DIV+CSS有可能遇到的问题
[总结]DIV+CSS有可能遇到的问题 一.超链接访问过后hover样式就不出现的问题? 被点击访问过的超链接样式不在具有hover和active了,解决方法是改变CSS属性的排列顺序: L-V-H- ...
- 10.关联(Association)
关联关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系.它体现的是两个类.或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友.这种关系比依赖更强.不存 ...
- IE6文字溢出BUG(多出来的猪问题)
在IE6下使用浮动可能会出现文字重复的情况. 在IE6下,浮动层之间有注释文字的话,之前那个浮动层的内容文字就有可能遭遇一个“隐形”的复制,但是代码里查看文字可并没有多出来. 看个例子: HTML & ...
- boost 线程、互斥体、条件变量
1.任何技术都是针对特定场景设计的,也就是说,为了解决某个问题而设计的. 2.考虑下面一种场景:一个小旅馆,只有一个卫生间,有清洁人员,店主人,和旅客.卫生间用完之后,就会自动锁闭,必须取钥匙,才能进 ...
- C#调用C++ dll时,结构体引用传参的方法
写了一个C++的LogLog Logit 四参数等算法的接口dll,给C#调用,但是发现传参有问题 如 extern "C" _declspec(dllexport) bool ...
- 《MySQL必知必会》读书笔记
一.了解MySQL 1.什么是数据库? 数据库是一种以某种有组织的方式存储的数据集合. 2.模式(schema):关于数据库和表的布局及特性的信息. 3. ...
- UICollectionViewController
UICollectionViewController 目录 概述 UICollectionView UICollectionViewCell 代理方法 详细细节 概述 UICollectionView ...