Plugins de formulaire jQuery EasyUI -Combogrid
Plugins jQuery EasyUI
Hérite de $.fn.combo.defaults et $.fn.datagrid.defaults. Surchargez les valeurs par défaut via $.fn.combogrid.defaults.
Le combogrid combine une zone de texte modifiable avec un panneau de grille de données déroulant, permettant aux utilisateurs de rechercher et sélectionner rapidement depuis le panneau de grille de données déroulant. Le combogrid offre une prise en charge de la navigation au clavier pour sélectionner un élément.
Dépendances
- combo
- datagrid
Utilisation
Créer un combogrid
1. Créer un combogrid à partir du balisage.
<select id="cc" class="easyui-combogrid" name="dept" style="width:250px;"
data-options="
panelWidth:450,
value:'006',
idField:'code',
textField:'name',
url:'datagrid_data.json',
columns:[[
{field:'code',title:'Code',width:60},
{field:'name',title:'Name',width:100},
{field:'addr',title:'Address',width:120},
{field:'col4',title:'Col41',width:100}
]]
"></select>
2. Créez-le à partir d'un élément <select> ou <input> existant à l'aide de JavaScript.
<input id="cc" name="dept" value="01">
$('#cc').combogrid({
panelWidth:450,
value:'006',
idField:'code',
textField:'name',
url:'datagrid_data.json',
columns:[[
{field:'code',title:'Code',width:60},
{field:'name',title:'Name',width:100},
{field:'addr',title:'Address',width:120},
{field:'col4',title:'Col41',width:100}
]]
});
Fonctionnalité d'autocomplétion
Ajoutons une fonctionnalité d'autocomplétion au combogrid. La grille de données déroulante affichera les résultats possibles en fonction de la saisie de l'utilisateur.
$('#cc').combogrid({
delay: 500,
mode: 'remote',
url: 'get_data.php',
idField: 'id',
textField: 'name',
columns: [[
{field:'code',title:'Code',width:120,sortable:true},
{field:'name',title:'Name',width:400,sortable:true}
]]
});
Côté serveur, le paramètre 'q' doit d'abord être récupéré. Les utilisateurs peuvent interroger la base de données, puis renvoyer un résultat SQL au format JSON au navigateur.
get_data.php:
$q = isset($_POST['q']) ? $_POST['q'] : ''; // the request parameter
// query database and return JSON result data
$rs = mysql_query("select * from item where name like '$q%'");
echo json_encode(...);
Propriétés
Ces propriétés héritent de combo et datagrid. Vous trouverez ci-dessous les propriétés ajoutées pour le combogrid.
| Name | Type | Description | Valeur par défaut |
|---|---|---|---|
| loadMsg | string | Le message affiché lorsque le datagrid charge des données distantes. | null |
| idField | string | Le nom du champ de l'id. | null |
| textField | string | Le nom du champ du texte affiché dans la zone de texte. | null |
| mode | string | Définit comment charger les données du datagrid lorsque le texte change. Définissez-le sur 'remote' si le combogrid charge depuis le serveur. Lorsqu'il est défini sur le mode 'remote', la valeur saisie par l'utilisateur sera envoyée comme paramètre de requête HTTP nommé 'q' au serveur pour obtenir de nouvelles données. | local |
| filter | function(q, row) | Définit comment sélectionner les données locales lorsque 'mode' est défini sur 'local'. Retournez true pour sélectionner cette ligne. Exemple de code :
$('#cc').combogrid({
filter: function(q, row){
var opts = $(this).combogrid('options');
return row[opts.textField].indexOf(q) == 0;
}
});
|
100 |
Événements
Ces événements sont hérités de combo et datagrid.
Méthodes
Ces méthodes étendent combo. Les méthodes suivantes sont ajoutées ou redéfinies pour le combogrid.
| Name | Parameters | Description |
|---|---|---|
| options | none | Renvoie l'objet options. |
| grid | none | Retourne l'objet datagrid. L'exemple ci-dessous montre comment obtenir la ligne sélectionnée :
var g = $('#cc').combogrid('grid'); // get datagrid object
var r = g.datagrid('getSelected'); // get the selected row
alert(r.name);
|
| setValues | values | Définit le tableau des valeurs des composants. Exemple de code :
$('#cc').combogrid('setValues', ['001','007']);
|
| setValue | value | Définit la valeur du composant. Exemple de code :
$('#cc').combogrid('setValue', '002');
|
| clear | none | Efface la valeur du composant. |
Plugins jQuery EasyUI Autres extensions