<div id="setBtn_dd" class="easyui-window" data-options="iconCls:'icon-save',buttons:'#setBtn_dlg-buttons',closed:true,modal:true,width:380,height:380">
<form id="setBtn_ff" method="post" autocomplete="off" style="margin-top: 30px">
<table class="tb1">
<tr hidden="hidden">
<td class="td1">MenuID:</td>
<td class="td2">
<input id="setBtn_MenuID" class="easyui-validatebox textbox" type="text" name="menuId" style="width: 200px; height: 30px;" /></td>
</tr>
<tr>
<td class="td1">菜单名称:</td>
<td class="td2">
<input id="setBtn_MenuName" class="easyui-validatebox textbox" type="text" name="menuName" data-options="required:'true',validType:'maxLength[100]'" style="width: 200px; height: 30px;" disabled="disabled" /></td>
</tr>
<tr>
<td class="td1">按钮:</td>
<td class="td2">
<select id="combotree_setBtn" class="easyui-combotree" name="combotree_setBtn" data-options="validType:'maxLength[100]',multiple:true" style="width: 200px; height: 30px;" /></td>
</tr>
</table> <div id="setBtn_dlg-buttons">
<a id="setBtn_ddok" href="javascript:void(0)" onclick="javascript:saveMenuBtn();" class="easyui-linkbutton" data-options="iconCls:'icon icon-ok'">保存</a>
<a id="setBtn_ddcancel" href="javascript:void(0)" onclick="javascript:$('#setBtn_dd').window('close');" class="easyui-linkbutton" data-options="iconCls:'icon icon-cancel'">取消</a>
</div>
</form>
</div>
$("#z-toolbar").on("click", "#btnSetMenuButton", function () {
var row = $('#tbMenu').datagrid('getSelected');
if (row == null) {
$.messager.alert('警告', '请选择至少一行数据', 'warning');
return;
} $.ajax({
type: 'post',
dataType: "json",
url: '/Handlers/MenuHandler.ashx?action=IsExistSon&menuId=' + encodeURI(row.menuId),  //判断是否有下级
success: function (data) {
if (data.Success) {
$('#setBtn_dd').dialog({
closed: false,
title: '分配按钮',
onBeforeOpen: function () {
//加载时选中已经分配好的按钮
$.ajax({
type: 'post',
dataType: "json",
url: '/Handlers/MenuButtonHandler.ashx?action=LoadMenuButton&menuId=' + encodeURI(row.menuId), success: function (mb_data) {
if (mb_data.Success) {
$('#combotree_setBtn').combotree('setValues', mb_data.Message);
}
}
})
}
});
            //向combotree绑定值
$('#combotree_setBtn').combotree(
{
url: "/Handlers/ButtonHandler.ashx?action=GetButtonTree"
});
$('#setBtn_ff').form('load', row);
} else {
$.messager.show({
title: '错误',
msg: data.Message
});
}
}
})
})
 private void GetButtonTree(HttpContext context)
{
string where = "1=1";
List<Model_tb_button> btnList = new BLL_Button().GetButtonTable(where); StringBuilder sbStr = new StringBuilder();
sbStr.Append("[{\"id\":0, \"text\": \"全选\", \"children\":[");
if (btnList != null && btnList.Count > )
{
foreach (var item in btnList)
{
sbStr.Append("{\"id\":" + item.btnId + ", \"text\":\"" + item.btnName + "\", \"iconCls\":\"" + item.btnIcon + "\"},");
}
sbStr.Remove(sbStr.Length - , );
}
sbStr.Append("]}]"); Response.WriteJson(context, sbStr);
}
BLL
public List<Model_tb_button> GetButtonTable(string where)
{
DataSet ds = this.dal.GetButtonTable(where);
return ModelHandler<Model_tb_button>.FillModel(ds.Tables[]);
} DLL
public DataSet GetButtonTable(string where)
{
StringBuilder sbSql = new StringBuilder();
sbSql.Append("SELECT btnId AS id, btnName AS text, btnIcon AS iconCls, * FROM dbo.tb_button ");
if (!string.IsNullOrEmpty(where))
{
sbSql.Append(" WHERE " + where);
} return DbHelperSQL.Query(sbSql.ToString());
} Model
[Serializable]
public partial class Model_tb_button
{
public Model_tb_button()
{ }
#region Model
private int _btnid;
private string _btnname;
private string _btncode;
private string _btnicon;
private DateTime? _createtime;
private string _createby;
private DateTime? _updatetime;
private string _updateby;
/// <summary>
///
/// </summary>
public int btnId
{
set { _btnid = value; }
get { return _btnid; }
}
/// <summary>
///
/// </summary>
public string btnName
{
set { _btnname = value; }
get { return _btnname; }
}
/// <summary>
///
/// </summary>
public string btnCode
{
set { _btncode = value; }
get { return _btncode; }
}
/// <summary>
///
/// </summary>
public string btnIcon
{
set { _btnicon = value; }
get { return _btnicon; }
}
/// <summary>
///
/// </summary>
public DateTime? createTime
{
set { _createtime = value; }
get { return _createtime; }
}
/// <summary>
///
/// </summary>
public string createBy
{
set { _createby = value; }
get { return _createby; }
}
/// <summary>
///
/// </summary>
public DateTime? updateTime
{
set { _updatetime = value; }
get { return _updatetime; }
}
/// <summary>
///
/// </summary>
public string updateBy
{
set { _updateby = value; }
get { return _updateby; }
}
#endregion Model }

带有“全选”的combotree的更多相关文章

  1. vue实现下拉框全选和输入匹配

    实际项目中的一个需求: 点击文本框,弹出带有复选框的选项,然后获取选中项的数据,传给后面的一个功能.在文本框输入内容,也会动态的匹配下拉列表,并且列表带有全选功能. 朴素的效果图: 我选择了用vue实 ...

  2. JQuery实现列表中复选框全选反选功能封装

    我们在做列表的时候经常会遇到全选,反选进行批量处理问题,例如: 我当时就是简单的实现了,然后想封装到公共的js中,封装的太烂,不好意思贴出来了(就是把实现代码之间放到公共js中,然后每个页面都用固定的 ...

  3. Jquery小例子:全选按钮、加事件、挂事件;parent()语法;slideToggle()语法;animate()语法;元素的淡入淡出效果:fadeIn() 、fadeOut()、fadeToggle() 、fadeTo();function(e):e包括事件源和时间数据;append() 方法

    function(e): 事件包括事件源和事件数据,事件源是指是谁触发的这个事件,谁就是事件源(div,按钮,span都可以是事件源),时间数据是指比如点击鼠标的事件中,事件数据就是指点击鼠标的左建或 ...

  4. jQuery全选与反选,且解决点击只执行一次的问题

    <html> <head> <script src="jquery-1.11.1.min.js" type="text/javascript ...

  5. jquery checkbox全选,全不选,反选方法,jquery checkbox全选只能操作一次

    jquery checkbox全选,全不选,反选方法, jquery checkbox全选只能操作一次, jquery checkbox全选只有第一次成功 >>>>>&g ...

  6. 关于js 全选 反选

    prop 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. attr  对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. $("#selectAll ...

  7. 表格中的checkbox复选框 全选非全选 公共方法 及提交选中结果

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. Android开发 ---基本UI组件5:监听下拉选项,动态绑定下拉选项、全选/反选,取多选按钮的值,长按事件,长按删除,适配器的使用,提示查询数据,activity控制多按钮

    效果图: 效果描述: 1.当点击 1 按钮后,进入选择城市的页面,会监听到你选中的城市名称:动态为Spinner绑定数据 2.当点击 2 按钮后,进入自动查询数据页面,只要输入首字母,就会动态查找以该 ...

  9. checkebox 全选 ,子复选框单个全部选择后,全选框也会被选择

    <script> //点击全选,子复选框被选中 function demo(){ var allcheck=document.getElementById("allcheck&q ...

随机推荐

  1. IIS的部署

    https://blog.csdn.net/miner_k/article/details/69388726 https://blog.csdn.net/miner_k/article/details ...

  2. C++-POJ2503-Babelfish[hash]

    哈个希加挂个链表 一个要背的字符串hash函数ELFhash() mod数取数据最大容量的1.5倍最佳?! #include <set> #include <map> #inc ...

  3. C++-POJ1015-Jury Compromise

    Java实现会MLE那我也没办法了 //辩方总分和控方总分之差简称为“辩控差” //辩方总分和控方总分之和简称为“辩控和” //现用f(j, k)表示,取j 个候选人,使其辩控差为k 的所有方案中,辩 ...

  4. index unique scan 与index range scan等的区别

    存取Oracle当中扫描数据的方法(一) Oracle 是一个面向Internet计算环境的数据库.它是在数据库领域一直处于领先地位的甲骨文公司的产品.可以说Oracle关系数据库系统是目前世界上流行 ...

  5. Javascript标准参考教程学习记录

    教程:http://javascript.ruanyifeng.com/ 基本语法 - 函数 1.函数名的提升 JavaScript引擎将函数名视同变量名,采用function命令声明函数时,整个函数 ...

  6. winform学习(5)MDI窗体

    SDI窗体 single document interface 单文档界面,即单个简单的窗体 MDI窗体 multiple document interface 多文档界面(主窗体与子窗体的关系,避免 ...

  7. mysql5.7导出数据提示--secure-file-priv选项问题的解决方法

    mysql可使用 into outfile 参数把表中数据导出到csv,例如可用以下命令把user表的数据导出到user.csv select * from user into outfile '/t ...

  8. MFC单文档视图中嵌入GLFW窗口

    开始学习OpenGL由于有一段时间,但是glfw只有窗口区,虽然通过某种手段(移步这里)可以加入工具栏,但仍然无法作为一个标准的GUI,而直接在MFC或Qt里面使用OpenGL API感觉有诸多制肘, ...

  9. 10-Java-JSTL标签库的使用

    使用JSTL标签库使用 第一步:引入相关jar包到WEB-INF/lib/,JSTL标签库(standard.jar,jstl.jar) 第二步:在JSP文件中通过 taglib指令引入标签库,例如: ...

  10. Thinkphp中验证码不显示解决办法

    1.页面是否存在bom头, 2.入口文件中是否有define(‘APP_DEBUG’, TRUE); //是否开启调试模式,上线时请改为false