JQGrid: Abhängigkeit Dropdown in dataEvents Ändern
Ich entwickle ein raster enthält eine Liste der Genehmigungen pro Modul.
Was ich will, ist zu überprüfen alle 2 Ereignisse wenn eine änderung in der combobox in eine Spalte. Ich bin mit 1 und 0 für die Aktivierung /Deaktivierung
Ersten Fall: Wenn ich aktiv "schreiben", "ändern", "löschen" oder "drucken" bedeutet, dass die selbst-wählen Sie "Lesen"
Zweiten Fall ist das Gegenteil: Wenn Sie deaktivieren Sie die "Read" schaltet sich automatisch aus, "schreiben", "ändern", "löschen" und "drucken"
Recherche fand ich die option zum verwenden von Funktionen der input-Ereignisse:
{"name":"read",
"index":"read",
"width":48,
"resizable":false,
"editable":true,
"edittype":"select",
"editoptions":{
"value":"0:0;1:1",
"dataEvents":[{
"type":"change",
"fn":function(e){
if($(e.target).val() == '0')
{
//actions here...
}
}
}]
}
}
Ändern Sie können die Elemente der anderen Spalten ... durch die Zeile?
BEARBEITEN
meine Lösung:
$('tr.jqgrow select[name*="read"]').live("change",function()
{
if($(this).val() === '0') $(this).closest('tr.jqgrow').find('select.editable').not(this).find('option:first-child').attr("selected", "selected");
});
$('tr.jqgrow select[name!="read"]').live("change",function()
{
$(this).closest('tr.jqgrow').find('select[name*="read"]').find('option:last-child').attr("selected", "selected");
});
InformationsquelleAutor csotelo | 2012-07-06
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
In die Antwort finden Sie ein Beispiel, wie die Umsetzung abhängig wählt im jqGrid. Durch die Art und Weise, die Sie verwenden können, die gleiche Idee mit
formatter: "checkbox"
. Im Fall der Umsetzung wird viel einfacher sein. Es ist wichtig, dass Sie ändern müssen, um die<select>
Elemente oder chachboxes manuell.Eine weitere Antwort können Sie zeigen eine andere Implementierung option, die Sie verwenden können.
<select>
Elemente oder checkboxs manuell. Im Thema über die Länder und Staat sollte man build in der nächsten Liste wählen Sie Basis, auf der ausgewählte Wert in einer anderen Spalte. Ich weiter zu empfehlen, die Sie verwenden checkboxs statt wählt, wenn nur "0" und "1" ausgewählt werden. Nun über den code, der von der "EDIT" - Teil deiner Frage. Die Verwendung vonlive
ist weniger effektiv alsbind
verwendetdataEvents
. Darüber hinaus ist die Verwendung vonnth-child(4)
,not(this)
etc machen den code nicht Häufig genug.3_read
wo3
ist die rowid und'read'
ist diename
aus der Spalte. Alternativ können Sie suchen, den " select by Attributname="read"
. Wird es den code besser lesbar und unabhängig zu kleine änderung descolModel
(wie das einfügen der neuen Spalte oder die Verwendung vonrownumbers:true
option).