Mam scenariusz, w którym muszę przekazać losowo wygenerowany identyfikator do funkcji javascript, ale funkcja javascript nie rozpoznaje. Używam ulepszonej siatki dojo. Poniżej znajduje się kod:wysyła losową wygenerowaną wartość do funkcji javascript onclick
function(value, rowIndex) {
var Id = this.grid.getItem(rowIndex).ID;
alert("ID+ " + Id);//retriving the id value correctly
return "<img src=../img/smiley.jpg width=\"20\" height=\"20\" onClick=\"showData(\''+Id +'\')\" class=\"display\">" ;
};
<script>
function showData(id){
alert(id);//unable to get the id here..
}
</script>
Z góry dziękuję.
wywołanie funkcji 'showDate (Id)' po uruchomieniu alarmu. Jeśli chcesz użyć 'Id' bez wywoływania funkcji, musisz ustawić' var Id' poza funkcją. Kiedy próbujesz ostrzec go w funkcji 'showData', jesteś w innym zasięgu. Javascript również rozróżnia małe i wielkie litery, więc musisz użyć "Id" zamiast "id". – GuyT
@GuyY Nie mogę wywołać funkcji showDate (Id) po alarmie, ponieważ chcę mieć zdarzenie onClick, gdy klikam obraz, którego funkcja powinna zostać wywołana, przekazując identyfikator do funkcji javascript, ponieważ muszę przetworzyć więcej z tą funkcją ID. Jest ich sposób na wykonanie. Dzięki. – participantjava
Nie rozumiem, co dokładnie masz na myśli. Ale czy już spojrzałeś na 'on' z' lang.hitch'? Używam tego przez większość czasu, kiedy mam problemy z zasięgiem w Dojo. – GuyT