Latest web development tutorials
×

jQuery EasyUI curso

jQuery EasyUI curso jQuery EasyUI breve introducción

jEasyUI solicitud

jEasyUI Creación de una aplicación CRUD jEasyUI Creación de una cuadrícula de datos CRUD jEasyUI formulario de solicitud CRUD jEasyUI Crear un lector de RSS

jEasyUI Arrastrar y soltar

jEasyUI arrastrar y soltar básica jEasyUI Crear caída de carrito de la compra jEasyUI Crear un plan de estudios

jEasyUI Menús y botones

jEasyUI Creación de un menú sencillo jEasyUI Crear botón de Enlace jEasyUI Crear un botón de menú jEasyUI Crear botón de división

jEasyUI disposición

jEasyUI Crear un diseño de frontera jEasyUI Crear diseños complejos jEasyUI Crear panel de plegado jEasyUI crear pestaña jEasyUI Dinámicamente agregar fichas jEasyUI Añadir ficha Reproducción automática jEasyUI Crear XP Style en el panel lateral izquierdo

jEasyUI cuadrícula de datos

jEasyUI Convertida a la red de datos de tabla HTML jEasyUI Obtener fila de datos seleccionado jEasyUI Agregar consulta jEasyUI Añadir barra de herramientas jEasyUI Crear barras de herramientas complejas jEasyUI Configuración de columnas de congelación jEasyUI Cambio de columna dinámico jEasyUI formato de columnas jEasyUI Establecer el tipo jEasyUI Organización personalizada jEasyUI Crear una combinación de columnas jEasyUI Añadir casilla jEasyUI paginación personalizada jEasyUI Habilitar la edición en línea jEasyUI Editor extendida jEasyUI operación de la columna jEasyUI celda combinada jEasyUI Crear una vista personalizada jEasyUI Crear Resumen de pie de página jEasyUI Condiciones conjunto de filas color de fondo jEasyUI Crear una cuadrícula de propiedades jEasyUI líneas expandidas Mostrar Detalles jEasyUI crear subdivisiones jEasyUI Mostrar los datos masiva jEasyUI Añadir un componente de la página

jEasyUI ventana

jEasyUI Creación de una simple ventana jEasyUI Ventana de barras de herramientas personalizadas jEasyUI Ventana y diseño jEasyUI crear diálogo jEasyUI cuadro de diálogo Personalizar

jEasyUI árbol de menús

jEasyUI Utilice las etiquetas para crear el menú de árbol jEasyUI Crear menú de árbol asíncrono jEasyUI Adición de un menú de árbol de nodos jEasyUI Crear menú de árbol con casillas de verificación jEasyUI Arrastrar y soltar el control de menú de árbol jEasyUI menú de carga de árboles padre / hijo nodos jEasyUI Creación de un árbol sobre la base de cuadrícula jEasyUI Crear una malla compleja árbol jEasyUI rejilla árbol cargado dinámicamente jEasyUI Agregar una ficha Cuadrícula árbol jEasyUI La carga diferida árbol de nodo de la malla

jEasyUI formulario

jEasyUI Presentar el formulario para crear una máquina asíncrona jEasyUI autenticación de formularios jEasyUI Crear un cuadro de árbol desplegable jEasyUI cuadro desplegable Formato jEasyUI Filtro cuadrícula de datos desplegables

jEasyUI Manual de referencia

jQuery EasyUI Widget jQuery EasyUI propagación

jQuery EasyUI cuadrícula de datos y widget de árbol - Árbol

plugin de jQuery EasyUI plugin de jQuery EasyUI

Por $ .fn.tree.defaults anulan los valores predeterminados por defecto.

Árbol (árbol) en los datos de visualización de la página web en una estructura de árbol jerárquica. Proporciona a los usuarios expandir, colapso, arrastre, editar y carga asíncrona.

confiar

  • arrastrable
  • lanzables

uso

Árbol (árbol) se define en el elemento <ul>. La etiqueta se puede definir nodos hoja y sub-nodos. El nodo es <li> ul elemento en la lista. A continuación se muestra serán utilizados para la producción de elementos anidados en el nodo de árbol de elementos ul.

<Id = ul class "tt" = "easyui-árbol">
    <Li>
		<Span> Carpeta </ ​​span>
		<Ul>
			<Li>
				<Span> Subcarpeta 1 </ span>
				<Ul>
					<Li> <span> <a href="#"> File 11 </a> </ span> </ li>
					<Li> <span> Archivo 12 </ span> </ li>
					<Li> <span> Archivo 13 </ span> </ li>
				</ Ul>
			</ Li>
			<Li> <span> Archivo 2 </ span> </ li>
			<Li> <span> Archivo 3 </ span> </ li>
		</ Ul>
	</ Li>
    <Li> <span> File21 </ span> </ li>
</ Ul>

Árbol (árbol) también se puede definir en un elemento vacío <ul>, puede usar javascript para cargar datos.

<Ul id = "tt"> </ ul>
$ ( '# Tt'). Árbol ({
    url: 'tree_data.json'
});

Utilice loadFilter para manejar datos JSON servicio web de ASP.NET.

$ ( '# Tt'). Árbol ({
    url: ...,
    loadFilter: function (datos) {
		si (data.d) {
			data.d regresar;
		} Else {
			datos de retorno;
		}
    }
});

formato de datos de árbol (árbol de datos de formato)

Cada nodo puede incluir los siguientes atributos:

  • id: ID del nudo, es importante para cargar datos remotos.
  • Texto: texto que se mostrará nodo.
  • Estado: estado de los ganglios, "abierta" o "cerrada", el valor por defecto es "abierta". Cuando se establece en "cerrado", el nodo tiene nodos secundarios, y cargarlos desde un sitio remoto.
  • verificado: Indica si se selecciona el nodo.
  • atributos: un nodo para añadir atributos personalizados.
  • hijos: define el conjunto de nodos nodos secundarios.

Ejemplo:

[{
    "Id": 1,
    "Texto": "Carpeta1",
    "IconCls": "icono-save",
    "Niños": [{
		"Texto": "archivo1",
		"A cuadros": true
    }, {
		"Texto": "Libros",
		"Estado": "abierta",
		"Atributos": {
			"URL": "/ demo / libro / abc",
			"Precio": 100
		},
		"Niños": [{
			"Texto": "PhotoShop",
			"A cuadros": true
		}, {
			"Id": 8,
			"Texto": "Sub Bookds",
			"Estado": "cerrado"
		}]
    }]
}, {
    "Texto": "Idiomas",
    "Estado": "cerrado",
    "Niños": [{
		"Texto": "Java"
    }, {
		"Texto": "C #"
    }]
}]

árbol asíncrono

El soporte integrado para el modo de carga árbol asincrónica, por lo que los usuarios pueden crear un árbol vacío, a continuación, especifique un nivel de servidor de datos JSON rendimientos dinámicos, de acuerdo con la demanda de árbol de forma asíncrona poblado. He aquí un ejemplo:

<class = datos opciones-UL "easyui-árbol" = "url: 'get_data.php" "> </ ul>

Árbol por URL 'get_data.php' cargado. Los nodos hijos depende de que se carga el estado del nodo padre. Al expandir un nodo cerrado, si el nodo no tiene hijos cargados, es enviado a el valor de ID del nodo del servidor como http llamado "id" parámetros de la petición de URL definidos anteriormente, con el fin de recuperar los nodos secundarios.

Mira los datos devueltos por el servidor:

[{
    "Id": 1,
    "Texto": "nodo 1",
    "Estado": "cerrado",
    "Niños": [{
		"Id": 11,
		"Texto": "11 Nodo"
    }, {
		"Id": 12,
		"Texto": "12 Nodo"
    }]
}, {
    "Id": 2,
    "Texto": "Nodo 2",
    "Estado": "cerrado"
}]

Los nodos 1 y 2 están cerradas, al expandir un nodo, será un escaparate de su hijo nodos directamente. Al expandir el nodo 2, el servidor enviará el valor (2) con el fin de recuperar los nodos secundarios.

Este tutorial para crear un asíncronos árboles demostrar cómo escribir código en el servidor de acuerdo a la demanda para devolver los datos de los árboles.

propiedad

名称 类型 描述 默认值
url string 获取远程数据的 URL 。 null
method string 检索数据的 http 方法(method)。 post
animate boolean 定义当节点展开折叠时是否显示动画效果。 false
checkbox boolean 定义是否在每个节点前边显示复选框。 false
cascadeCheck boolean 定义是否级联检查。 true
onlyLeafCheck boolean 定义是否只在叶节点前显示复选框。 false
lines boolean 定义是否显示树线条。 false
dnd boolean 定义是否启用拖放。 false
data array 要加载的节点数据。
$('#tt').tree({
	data: [{
		text: 'Item1',
		state: 'closed',
		children: [{
			text: 'Item11'
		},{
			text: 'Item12'
		}]
	},{
		text: 'Item2'
	}]
});
null
formatter function(node) 定义如何呈现节点文本。
代码实例:
$('#tt').tree({
	formatter:function(node){
		return node.text;
	}
});
loader function(param,success,error) 定义如何从远程服务器加载数据。返回 false 则取消该动作。该函数有下列参数:
param:要传递到远程服务器的参数对象。
success(data):当检索数据成功时调用的回调函数。
error():当检索数据失败时调用的回调函数。
json loader
loadFilter function(data,parent) 返回要显示的过滤数据。返回数据时以标准树格式返回的。该函数有下列参数:
data:要加载的原始数据。
parent:DOM 对象,表示父节点。

evento

Muchos eventos requieren una función de devolución de llamada parámetros "nodo", que incluyen las siguientes propiedades:

  • id: unido al valor de identidad del nodo.
  • Texto: texto que se mostrará.
  • iconCls: Para visualizar el icono de la clase css.
  • verificado: si se selecciona el nodo.
  • Estado: estado de los ganglios, "abierta" o "cerrada".
  • atributos: se unen al nodo de atributo personalizado.
  • objetivo: objetos DOM objetivos.
名称 参数 描述
onClick node 当用户点击一个节点时触发。代码实例:
$('#tt').tree({
	onClick: function(node){
		alert(node.text);  // alert node text property when clicked
	}
});
onDblClick node 当用户双击一个节点时触发。
onBeforeLoad node, param 当加载数据的请求发出前触发,返回 false 则取消加载动作。
onLoadSuccess node, data 当数据加载成功时触发。
onLoadError arguments 当数据加载失败时触发,arguments 参数与 jQuery.ajax 的 'error' 函数一样。
onBeforeExpand node 节点展开前触发,返回 false 则取消展开动作。
onExpand node 当节点展开时触发。
onBeforeCollapse node 节点折叠前触发,返回 false 则取消折叠动作。
onCollapse node 当节点折叠时触发。
onBeforeCheck node, checked 当用户点击复选框前触发,返回 false 则取消该选中动作。该事件自版本 1.3.1 起可用。
onCheck node, checked 当用户点击复选框时触发。
onBeforeSelect node 节点被选中前触发,返回 false 则取消选择动作。
onSelect node 当节点被选中时触发。
onContextMenu e, node 当右键点击节点时触发。代码实例:
// right click node and then display the context menu
$('#tt').tree({
	onContextMenu: function(e, node){
		e.preventDefault();
		// select the node
		$('#tt').tree('select', node.target);
		// display context menu
		$('#mm').menu('show', {
			left: e.pageX,
			top: e.pageY
		});
	}
});

// the context menu is defined as below:
<div id="mm" class="easyui-menu" style="width:120px;">
	<div onclick="append()" data-options="iconCls:'icon-add'">Append</div>
	<div onclick="remove()" data-options="iconCls:'icon-remove'">Remove</div>
</div>
onBeforeDrag node 当节点的拖拽开始时触发,返回 false 则禁止拖拽。该事件自版本 1.3.2 起可用。
onStartDrag node 当开始拖拽节点时触发。该事件自版本 1.3.2 起可用。
onStopDrag node 当停止拖拽节点时触发。该事件自版本 1.3.2 起可用。
onDragEnter target, source 当节点被拖拽进入某个允许放置的目标节点时触发,返回 false 则禁止放置。
target:被放置的目标节点元素。
source:被拖拽的源节点。
该事件自版本 1.3.2 起可用。
onDragOver target, source 当节点被拖拽到允许放置的目标节点上时触发,返回 false 则禁止放置。
target:被放置的目标节点元素。
source:被拖拽的源节点。
该事件自版本 1.3.2 起可用。
onDragLeave target, source 当节点被拖拽离开允许放置的目标节点时触发。
target:被放置的目标节点元素。
source:被拖拽的源节点。
该事件自版本 1.3.2 起可用。
onBeforeDrop target,source,point 节点被放置之前触发,返回 false 则禁止放置。
target:DOM 对象,放置的目标节点。
source:源节点。
point:表示放置操作,可能的值是:'append'、'top' 或 'bottom'。
该事件自版本 1.3.2 起可用。
onDrop target,source,point 当节点被放置时触发。 target:DOM 对象,放置的目标节点。
source:源节点。
point:表示放置操作,可能的值是:'append'、'top' 或 'bottom'。
onBeforeEdit node 编辑节点前触发。
onAfterEdit node 编辑节点后触发。
onCancelEdit node 当取消编辑动作时触发。

camino

名称 参数 描述
options none 返回树的选项(options)。
loadData data 加载树的数据。
getNode target 获取指定的节点对象。
getData target 获取指定的节点数据,包括它的子节点。
reload target 重新加载树的数据。
getRoot none 获取根节点,返回节点对象。
getRoots none 获取根节点,返回节点数组。
getParent target 获取父节点,target 参数表示节点的 DOM 对象。
getChildren target 获取子节点, target 参数表示节点的 DOM 对象。
getChecked state 获取选中的节点。状态可用值有:'checked'、'unchecked'、'indeterminate'。如果状态未分配,则返回 'checked' 节点。
代码实例:
var nodes = $('#tt').tree('getChecked');	// get checked nodes
var nodes = $('#tt').tree('getChecked', 'unchecked');	// get unchecked nodes
var nodes = $('#tt').tree('getChecked', 'indeterminate');	// get indeterminate nodes
var nodes = $('#tt').tree('getChecked', ['checked','indeterminate']);	// get checked and indeterminate nodes
getSelected none 获取选中的节点并返回它,如果没有选中节点,则返回 null。
isLeaf target 把指定的节点定义成叶节点,target 参数表示节点的 DOM 对象。
find id 找到指定的节点并返回该节点对象。代码实例:
// find a node and then select it
var node = $('#tt').tree('find', 12);
$('#tt').tree('select', node.target);
select target 选中一个节点,target 参数表示节点的 DOM 对象。
check target 把指定节点设置为勾选。
uncheck target 把指定节点设置为未勾选。
collapse target 折叠一个节点,target 参数表示节点的 DOM 对象。
expand target 展开一个节点,target 参数表示节点的 DOM 对象。当节点关闭且没有子节点时,节点的 id 值(名为 'id' 参数)将被发送至服务器以请求子节点数据。
collapseAll target 折叠所有的节点。
expandAll target 展开所有的节点。
expandTo target 从根部展开一个指定的节点。
scrollTo target 滚动到指定节点。该方法自版本 1.3.4 起可用。
append param 追加一些子节点到一个父节点,param 参数有两个属性:
parent:DOM 对象,要追加到的父节点,如果没有分配,则追加为根节点。
data:数组,节点的数据。

代码实例:
// append some nodes to the selected node
var selected = $('#tt').tree('getSelected');
$('#tt').tree('append', {
	parent: selected.target,
	data: [{
		id: 23,
		text: 'node23'
	},{
		text: 'node24',
		state: 'closed',
		children: [{
			text: 'node241'
		},{
			text: 'node242'
		}]
	}]
});
toggle target 切换节点的展开/折叠状态,target 参数表示节点的 DOM 对象。
insert param 在指定节点的前边或后边插入一个节点,param 参数包括下列属性:
before:DOM 对象,前边插入的节点。
after:DOM 对象,后边插入的节点。
data:对象,节点数据。

下面的代码演示了如何在选中节点之前插入一个新的节点:
var node = $('#tt').tree('getSelected');
if (node){
	$('#tt').tree('insert', {
		before: node.target,
		data: {
			id: 21,
			text: 'node text'
		}
	});
}
remove target 移除一个节点和它的子节点,target 参数表示节点的 DOM 对象。
pop target 弹出一个节点和它的子节点,该方法和 remove 一样,但是返回了移除的节点数据。
update param 更新指定的节点,'param' 参数有下列属性:
target(DOM 对象,要被更新的节点)、id、text、iconCls、checked,等等。

代码实例:
// update the selected node text
var node = $('#tt').tree('getSelected');
if (node){
	$('#tt').tree('update', {
		target: node.target,
		text: 'new text'
	});
}
enableDnd none 启用拖放功能。
disableDnd none 禁用拖放功能。
beginEdit target 开始编辑节点。
endEdit target 结束编辑节点。
cancelEdit target 取消编辑节点。

plugin de jQuery EasyUI plugin de jQuery EasyUI