$(this).parent().find() funktioniert nicht
Mache ich ein WordPress-widget zeigt ein Bild, und zum hochladen/ändern dieses Bild nutze ich die WordPress Medien-uploader.
Dies ist das admin-Formular-markup, die ich verwende:
<p class="media-control"
data-title="Choose an image"
data-update-text="Choose image">
<input class="image-url" name="image-url" type="hidden" value="">
<img class="image-preview" src=""><br>
<a class="button" href="#">Pick image</a>
</p>
Wenn ich auf ".media-control" der uploader angezeigt und ich kann wählen Sie ein Bild. Aber wenn ich Sie abgeholt habe ein Bild ".Bild-Vorschau" und ".Bild-url" nicht mehr aktualisiert.
Hier mein javascript: http://jsfiddle.net/etzolin/DjADM/
Alles funktioniert wie vorgesehen, außer diese Zeilen:
jQuery(this).parent().find('.image-url').val(attachment.url);
jQuery(this).parent().find('.image-preview').attr('src', attachment.url);
Wenn ich Schreibe Sie so, input-Wert eingestellt ist und image-Vorschau aktualisiert:
jQuery('.media-control .image-url').val(attachment.url);
jQuery('.media-control .image-preview').attr('src', attachment.url);
Aber da ich mehr als eines dieser widgets aktualisieren der input-Wert und die Bild-Vorschau in jedem widget.
Wie kann ich einstellen, dass der input-Wert und aktualisieren Sie die Vorschau nur in der widget-bin ich das Bearbeiten? Was mache ich falsch?
Sorry, hier ist ein jsfiddle mit dem javascript-Code: jsfiddle.net/etzolin/DjADM
InformationsquelleAutor Etzolin | 2014-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Innerhalb der Ereignisprozedur für das Medien-frame
this
ist nicht das angeklickte elementund Sie sollten mit
on()
alslive()
veraltet ist und entfernt von jQueryInformationsquelleAutor adeneo