jQuery EasyUI Formular-Plugins -Combobox
jQuery EasyUI Plugins
Erbt von $.fn.combo.defaults. Überschreibt die Standardwerte über $.fn.combobox.defaults.
Die Combobox zeigt ein editierbares Textfeld und eine Dropdown-Liste an, aus der der Benutzer einen oder mehrere Werte auswählen kann. Benutzer können direkt Text oben in der Liste eingeben oder einen oder mehrere vorhandene Werte aus der Liste auswählen.
Abhängigkeiten
- combo
Nutzung
Erstellen Sie eine Combobox aus einem <select>-Element mit einer vordefinierten Struktur.
<select id="cc" class="easyui-combobox" name="dept" style="width:200px;">
<option value="aa">aitem1</option>
<option>bitem2</option>
<option>bitem3</option>
<option>ditem4</option>
<option>eitem5</option>
</select>
Erstellen Sie eine Combobox aus einem <input>-Tag.
<input id="cc" class="easyui-combobox" name="dept"
data-options="valueField:'id',textField:'text',url:'get_data.php'">
Erstellen Sie eine Combobox mit JavaScript.
<input id="cc" name="dept" value="aa">
$('#cc').combobox({
url:'combobox_data.json',
valueField:'id',
textField:'text'
});
Erstellen Sie zwei voneinander abhängige Comboboxen.
<input id="cc1" class="easyui-combobox" data-options="
valueField: 'id',
textField: 'text',
url: 'get_data1.php',
onSelect: function(rec){
var url = 'get_data2.php?id='+rec.id;
$('#cc2').combobox('reload', url);
}">
<input id="cc2" class="easyui-combobox" data-options="valueField:'id',textField:'text'">
Beispiel für ein JSON-Datenformat:
[{
"id":1,
"text":"text1"
},{
"id":2,
"text":"text2"
},{
"id":3,
"text":"text3",
"selected":true
},{
"id":4,
"text":"text4"
},{
"id":5,
"text":"text5"
}]
Eigenschaften
Diese Eigenschaften erben von combo. Die folgenden Eigenschaften wurden für die Combobox hinzugefügt.
| Name | Type | Beschreibung | Standard |
|---|---|---|---|
| valueField | string | Der Name des zugrunde liegenden Datenfelds, das an den Wert der ComboBox gebunden ist. | value |
| textField | string | Der Name des zugrunde liegenden Datenfelds, das an den Text der ComboBox gebunden ist. | text |
| groupField | string | Gibt das Feld an, nach dem gruppiert werden soll. Diese Eigenschaft ist seit Version 1.3.4 verfügbar. | null |
| groupFormatter | function(group) | Gibt den Gruppentext zurück, der bei den gruppierten Elementen angezeigt werden soll. Diese Eigenschaft ist seit Version 1.3.4 verfügbar. Codebeispiel:
$('#cc').combobox({
groupFormatter: function(group){
return '<span style="color:red">' + group + '</span>';
}
});
|
|
| mode | string | Definiert, wie Listendaten geladen werden, wenn sich der Text ändert. Auf 'remote' setzen, wenn die Combobox vom Server lädt. Im Modus 'remote' wird der vom Benutzer eingegebene Wert als HTTP-Anfrageparameter mit dem Namen 'q' an den Server gesendet, um neue Daten abzurufen. | local |
| url | string | Die URL zum Laden der Listendaten vom Remote-Server. | null |
| method | string | Die HTTP-Methode, die zum Abrufen von Daten verwendet wird. | post |
| data | array | Die geladenen Listendaten. Codebeispiel:
<input class="easyui-combobox" data-options="
valueField: 'label',
textField: 'value',
data: [{
label: 'java',
value: 'Java'
},{
label: 'perl',
value: 'Perl'
},{
label: 'ruby',
value: 'Ruby'
}]" />
|
null |
| filter | Funktion | Definiert, wie lokale Daten gefiltert werden, wenn 'mode' auf 'local' gesetzt ist. Die Funktion hat zwei Parameter: q: Der vom Benutzer eingegebene Text. row: Die Zeilendaten in der Liste. Geben Sie true zurück, damit die Zeile angezeigt werden darf. Codebeispiel:
$('#cc').combobox({
filter: function(q, row){
var opts = $(this).combobox('options');
return row[opts.textField].indexOf(q) == 0;
}
});
|
|
| formatter | Funktion | Definiert, wie eine Zeile gerendert wird. Die Funktion hat einen Parameter: row. Codebeispiel:
$('#cc').combobox({
formatter: function(row){
var opts = $(this).combobox('options');
return row[opts.textField];
}
});
|
|
| loader | function(param,success,error) | Definiert, wie Daten vom Remote-Server geladen werden. Geben Sie false zurück, um die Aktion abzubrechen. Die Funktion hat die folgenden Parameter: param: Das Parameterobjekt, das an den Remote-Server gesendet werden soll. success(data): Die Callback-Funktion, die aufgerufen wird, wenn die Daten erfolgreich abgerufen wurden. error(): Die Callback-Funktion, die aufgerufen wird, wenn das Abrufen der Daten fehlschlägt. |
JSON-Loader |
| loadFilter | function(data) | Gibt die gefilterten Daten zurück, die angezeigt werden sollen. Diese Eigenschaft ist seit Version 1.3.3 verfügbar. |
Ereignisse
Diese Ereignisse erben von combo. Die folgenden Ereignisse wurden für die combobox hinzugefügt.
| Name | Parameters | Beschreibung |
|---|---|---|
| onBeforeLoad | param | Wird ausgelöst, bevor die Anforderung zum Laden von Daten erfolgt. Geben Sie false zurück, um den Ladevorgang abzubrechen. Codebeispiel:
// change the http request parameters before load data from server
$('#cc').combobox({
onBeforeLoad: function(param){
param.id = 2;
param.language = 'js';
}
});
|
| onLoadSuccess | none | Wird ausgelöst, wenn die Remote-Daten erfolgreich geladen wurden. |
| onLoadError | none | Wird ausgelöst, wenn das Laden der Remote-Daten fehlschlägt. |
| onSelect | record | Wird ausgelöst, wenn der Benutzer ein Listenelement auswählt. |
| onUnselect | record | Wird ausgelöst, wenn der Benutzer ein Listenelement abwählt. |
Methoden
Diese Methoden erben von combo. Die folgenden Methoden wurden für die Combobox hinzugefügt oder überschrieben.
| Name | Parameters | Beschreibung |
|---|---|---|
| options | none | Gibt das Optionsobjekt zurück. |
| getData | none | Gibt die geladenen Daten zurück. |
| loadData | data | Lädt lokale Listendaten. |
| reload | url | Fordert Remote-Listendaten an. Übergeben Sie den Parameter 'url', um den ursprünglichen URL-Wert zu überschreiben. Codebeispiel:
$('#cc').combobox('reload'); // reload list data using old URL
$('#cc').combobox('reload','get_data.php'); // reload list data using new URL
|
| setValues | values | Legt das Array der Werte für die Combobox fest. Codebeispiel:
$('#cc').combobox('setValues', ['001','002']);
|
| setValue | value | Legt den Wert der Combobox fest. Codebeispiel:
$('#cc').combobox('setValue', '001');
|
| clear | none | Löscht den Wert der Combobox. |
| select | value | Wählt die angegebene Option aus. |
| unselect | value | Hebt die Auswahl der angegebenen Option auf. |
jQuery EasyUI Plugins Weitere Erweiterungen