Docteur Watson avec IE5.0 ????? [Javascript] - Programmation
MarshPosté le 18-09-2001 à 15:40:24
J'ai un bout de code qui gere 2 <SELECT> : en selectionnant un certain nombre de lignes dans l'un et en cliquant sur un bouton, les lignes sont effacees du premier pour apparaitre dans le deuxieme.
J'ai fait ca en JavaScript, ca marche pile-poil mais au dessus de 20 selections d'un coup, j'ai carrement un Docteur Watson :gun:
Quelqu'un aurait une idee ? Voila mon bout de code (c'est visiblement le fait d'enlever une <OPTION> d'un <SELECT> qui au bout d'un certain temps fait planter le bordel. Dans l'idee, e parcours ma liste source. Des que je trouve une option selectionnee, je cherche dans ma liste destination l'endroit ou je dois l'inserer, je decale tous les suivants de une case et j'insere au bon endroit ...
function moveAccount(srcId, dstId) {
var srcList = document.all[srcId]; var dstList = document.all[dstId];
var i = 0;
for (i=0;i < srcList.length; i++) { if (srcList.options[i].selected) { var opt= srcList.options[i] ; var ix = 0;
Marsh Posté le 18-09-2001 à 15:40:24
J'ai un bout de code qui gere 2 <SELECT> : en selectionnant un certain nombre de lignes dans l'un et en cliquant sur un bouton, les lignes sont effacees du premier pour apparaitre dans le deuxieme.
J'ai fait ca en JavaScript, ca marche pile-poil mais au dessus de 20 selections d'un coup, j'ai carrement un Docteur Watson :gun:
Quelqu'un aurait une idee ? Voila mon bout de code (c'est visiblement le fait d'enlever une <OPTION> d'un <SELECT> qui au bout d'un certain temps fait planter le bordel. Dans l'idee, e parcours ma liste source. Des que je trouve une option selectionnee, je cherche dans ma liste destination l'endroit ou je dois l'inserer, je decale tous les suivants de une case et j'insere au bon endroit ...
function moveAccount(srcId, dstId) {
var srcList = document.all[srcId];
var dstList = document.all[dstId];
var i = 0;
for (i=0;i < srcList.length; i++) {
if (srcList.options[i].selected) {
var opt= srcList.options[i] ;
var ix = 0;
opt.selected = false;
srcList.options[i] = null;
i--;
while ((ix < dstList.length) && (dstList.options[ix].text < opt.text))
ix++;
var mx = dstList.length;
for(j = mx; j>ix; j--)
dstList.options[j] = new Option(dstList.options[j-1].text, dstList.options[j-1].value)
dstList.options[ix] = opt;
}
}
}