Tengo este código HTML:
<div class="image-widget-data"><span class="file">
<input type="hidden" value="115" name="field_tablica[und][0][fid]">
<input type="hidden" value="1" name="field_tablica[und][0][display]">
<input type="hidden" value="560" name="field_tablica[und][0][width]">
<input type="hidden" value="560" name="field_tablica[und][0][height]">
<div class="imageeditor">
<div class="editors">
<div data-codename="picmonkey"
title="PicMonkey"
class="imageeditor-widget-item picmonkey imageeditor-processed">
</div>
</div>
</div>
</div>
Al hacer clic en DIV.picmonkey, me gustaría obtener el valor "115" de la entrada denominada field_tablica[und][0][fid]
donde 0 puede ser de 0 a 9.
¿Qué selector de jQuery debo usar?
3 respuestas
Muy similar a la Respuesta de Poelinca Dorin y el comentario de Arun P Johny: http://jsfiddle.net/zlatin_zlatev/0ubg7m34/
La diferencia es que no confío tanto en la estructura DOM actual; solo necesita tener un div de ajuste con la clase image-widget-data.
No importa si las entradas ocultas están directamente debajo, o en algún otro elemento html dom, p. Ej. formar.
EDITAR: Parece que .closest () tiene un mejor rendimiento que .parentsUntil (), por lo que es mejor ir con él http: //jsperf.com/closest-vs-parentsuntil (Mi respuesta se ha convertido en lo mismo que lo que Arun P Johny sugirió después de reemplazar los padres hasta que estén más cerca)
(function ($) {
$('.picmonkey').on('click', function (e) {
alert($(this).closest('.image-widget-data').find('input[name$="[fid]"]').val());
});
})(jQuery);
Utilice el termina con jQuery selector como en este ejemplo de jsfiddle
$(function() {
$('.picmonkey').on('click', function (e) {
alert($(this).closest('.imageeditor').siblings('input[name$="[fid]"]').val());
});
});
Tratar
$("[data-codename]").on("click", function() {
console.log($("[name*=\\[fid\\]]").val())
})
Jsfiddle http://jsfiddle.net/guest271314/aer9bmrn/2/
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.