Musisz przekazać źródło zdarzenia, używając tego do myfn, również potrzebujesz następnego zamiast find, ponieważ find będzie szukać potomków, a następnie będzie wyglądać na rodzeństwo.
Live Demo
JavaScript
function myfn(obj){
var id= jQuery(obj).next('input').val();
alert(id);
}
w HTML
<div>
<img src=".." onclick="myfn(this)" >
<input type="hidden" value="1" >
</div>
Jako dodatkowej
- Zamknij znaczniki
input
i img
za pomocą /
- Dołącz wartości atrybutów do podwójnych cudzysłowów, np.
type
i value
.
Możesz powiązać zdarzenie za pomocą jQuery, a nie wbudowanego powiązania zdarzeń, które masz. Proponuję użyć klasy do wiązania zdarzenia, do tego musisz przypisać klasę do img. Spowoduje to udostępnienie tego i $ (this) w module obsługi.
Live Demo
Html
<img src=".." onclick="myfn(this)" class="my-class">
Javacript/jQuery
$('.my-class').click(function() {
var id = jQuery(this).next('input').val();
alert(id);
})
człowieczku! Jesteś ratownikiem! Dzięki! Czy możesz mi powiedzieć, dlaczego "to" nie działa ?! – user2780757
Ponieważ wiążesz zdarzenie za pomocą powiązania zdarzeń inline JavaScript. – Adil
Dzięki za dodatkowe informacje! – user2780757