jqgrid - wie Sie zum hinzufügen von Parametern zu extraparam von saveRow im inline-editing Modus
Ich habe einen string:
var str = "it's a beautiful day";
Leite ich diesen string an die Funktion:
rowSave(id, str);
rowSave()
var rowSave = function(id, str){
jQuery("#myjqgrid").jqGrid('saveRow',id,{
"succesfunc": function(response) {
return true;
},
"url": "server.aspx",
"mtype": "GET",
"extraparam": {}
});
}
, Was ich tun will
Möchte ich
- split den string basierend auf white-space
- jedes Wort in der Zeichenfolge (nach der Aufteilung) sollte als parameter übergeben werden, die in
extraparam
so, es wird an die url angehängt.
Ich weiß nicht, wie dies zu tun.
Als pro Oleg ' s Vorschlag (siehe unten), aufgenommen im ajaxRowOptions: {cache: false}
in meinem jqgrid definition.
$("#myjqgrid").jqGrid({
ajaxRowOptions: {cache: false}
});
- Das format der
extraparam
ist das gleiche wie das format derpostData
: der Wert ist ein Objekt, das Eigenschaften hat, wie {eigenschaft1: 'value1', eigenschaft2: 'value2'}. So sollten Sie in Ihrer Frage benennen, nicht nur die Werte ("jedes Wort in der Zeichenfolge"), aber auch die Namen der Eigenschaften. Außerdem hast du geschrieben, dass die Werte sollten "an die url angehängt". Die Werte angehängt werden, um URL-nur, wenn Sie die Verwendung von HTTP GET-und nicht im Falle von HTTP POST Beispiel, das ist Standard. - Zusätzlich verwenden Sie
"url": server.aspx
das ist ein syntax Fehler. Dieserver.aspx
sollte zitiert werden und oburl
ist quoated ist es egal. So sollten Sie verwendenurl: 'server.aspx'
,url: "server.aspx"
oder"url": "server.aspx"
statt"url": server.aspx
. - Ich weiß, das format der
extraparam
und ich bin mitGET
. Ich weiß nicht, wie ordnen Sie die Werte und die verschiedenen Namen der Eigenschaft, nach der Teilung der saite. Gibt es eine Möglichkeit, eine Funktion schreiben und in einer Schleife durch und dann zuordnen. Ich habe versucht, es zu tun, aber es funktioniert nicht. - Ja, man kann dies tun, aber die Namen der Eigenschaften, die Sie benötigen. Ich meine, dass der server-Teil zu wissen, das exakt den gleichen Namen bei der Konvertierung in der Lage, dies zu Lesen. Sind Namen wie
p1
,p2
,p3
, ... OK? Sie können einen parameter statt, die nur geschickt die Zeichenfolge, wie es sein. Die Spaltung der einen parameter mit bekanntem parameter name kann getan werden viel einfacher auf dem server. Ist ' N so? - die parameter-Namen "A", "B", "C"... eigentlich ist es getan werden muss, um auf der client-Seite. also, sollte es in dem format --
"A":"It's", "B":"a", "C":"beautiful", "D":"day"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine Funktion definieren, die ähnlich der folgenden auf den Aufbau der zusätzlichen parameter-Objekt:
jQuery.ajax intern von jqGrid und können sicherstellen, dass korrekte Serialisierung. Wenn Sie auf Probleme stoßen, verwenden Sie alsterrunde zur Codierung der einzelnen parameter.
Sowieso, dann rufen Sie einfach in dieses Objekt, wenn Sie geben Sie Ihre Parameter:
Den code kann man über die folgenden:
Zuerst die
obj
gefüllt werden, wie{A: "it\'s", B: "a", C: "beautiful", D: "day"}
und dann wird es verwendet werden, als der Wertextraparam
.mtype: "GET"
Sie könnte Probleme mit dem caching des Ajax-requests im IE. Also ich empfehle dir die VerwendungajaxRowOptions: {cache: false}
parameter von jqGrid.