Atașați dispozitivele de tratare a evenimentelor la mai multe casete de text (cu un model identic similar)?

Am mai multe casete de text generate dinamic pe baza unor rezultate obținute de la o altă sursă. Vreau să adaug câteva handlers evenimente la aceste casete de text pentru a prinde orice apăsare de taste, și să se asigure că nimic introdus este numeric.

Eu generez aceste casete de text pe baza lungimii unui matrice intr-un raspuns JSON, cum ar fi:

for(i=0;i
0

3 răspunsuri

Ați etichetat întrebarea cu jQuery, deci mă întreb de ce nu utilizați biblioteca pentru a vă crea conținutul:

var content = [];
for (var i = 0; i < data.routesout.length; ++i) {
  content.push($('', { 'for': 'route' + i, text: data.routesout[i].name }));
  content.push($('<input/>', { change: yourEventHandler, type: 'text', name: 'route' + i, id: 'route' + i, value: date.routesout[i].percent, change: yourEventHandler }));
}

Procedând astfel, puteți lega elementul de manipulare de element în timp ce îl construiți. (Am folosit "schimbarea" ca exemplu, dar ați putea lega agenții de manipulare pentru orice eveniment doriți în același mod.)

În final, puteți adăuga toate elementele create oricum doriți sau le puteți adăuga în timp ce mergeți în loc să construiți o matrice.

3
adăugat
Sunt destul de nou pentru jQuery (și programarea web în general, mai mult de un dezvoltator desktop .NET dacă sunt sincer), așa că nu știam că poți face asta. Îmi place foarte mult, însă, mult mai curat. Mulțumesc pentru că!
adăugat autor sxthomson, sursa

Puteți folosi selectorul începe cu

$('input[id^="route"]').keyup(function(){...

Rețineți că, dacă le creați în zbor, poate fi necesar să atașați evenimentul folosind live :

$('input[id^="route"]').live('keyup', function(){...
3
adăugat

Ce zici de asta?

for(i=0;i
1
adăugat
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com