2013-05-09 15 views
9

Ich verwende x-editable für die Inline-Bearbeitung in meiner Web-App. Ich würde gerne zusätzliche Parameter an den Server übergeben, die ich gerne aus den Datenattributen des Trigger-Elements lesen würde. Hier ist mein bearbeitbare Element:x-editierbarer Zugriff Attributwert des Triggerelements

<a href="#" data-url="save_url" data-pk="271" data-type="text" data-value="Value" class="editable" data-param="XXX">Value</a> 

Ich mag würde Daten-param-Attribut übergeben, aber ich weiß nicht, wie Triggerelement zuzugreifen. Ich habe versucht, über $(this).data('param'), aber ich habe null ... Meinen voll editierbaren Code:

$.fn.editable.defaults.mode = 'inline'; 
$('.editable').editable({ 
    params: { param: $(this).data('param') } 
}); 

$('.editable').data('param') Aufruf kommt nicht in Betracht, da ich derzeit viele .editable Elemente habe.

Danke

Antwort

18

Ich fand es heraus. Ich antworte, falls jemand etwas wissen muss:

$('.editable').editable({ 
    params: function(params) { 
     // add additional params from data-attributes of trigger element 
     params.param1 = $(this).editable().data('param'); 
     params.param2 = $(this).editable().data('nextparam'); 
     return params; 
    } 
) 
+1

Tausend Dank! Dies sollte auch dem Dokument der XEditable-Bibliothek hinzugefügt werden! –

+0

Wenn ich versuche, dies im Wert Parameter von bearbeitbaren() es Fehler 'undefined ist keine Funktion' – stef

+0

@stef verwenden Sie müssen Ihren Code teilen, um Ihnen zu helfen –