Kod
function addInput()
{
arrInput.push( arrInput.length );
//arrValueLang.push( "" );
//arrValueLevel.push( "" );
display();
}
function display()
{
document.getElementById( 'langs_select' ).innerHTML = '';
for( i = 0; i < arrInput.length; i++ )
{
document.getElementById( 'langs_select' ).innerHTML += createInput( arrInput[i] );
document.getElementsByName( 'langs' + arrInput[i] ).options[arrValueLang[arrInput[i]]].selected = true;
document.getElementsByName( 'level' + arrInput[i] ).options[arrValueLevel[arrInput[i]]].selected = true;
alert( arrValueLang[arrInput[i]] );
}
}
function saveLangValue( id, si )
{
arrValueLang[id] = si;
}
function saveLevelValue( id, si )
{
arrValueLevel[id] = si;
}
function createInput( id )
{
return '<select name="langs' + id + '" onChange="javascript:saveLangValue( '+id+', this.selectedIndex )">' + langOptions + '</select><select name="level' + id + '" onChange="javascript:saveLevelValue( '+id+', this.selectedIndex )"><option value="0">jezyk ojczysty</option><option value="1">rownorzedny z ojczystym</option><option value="2">zaawansowany</option><option value="3">sredni</option><option value="4">poczatkujacy</option></select>';
}
function deleteInput()
{
if ( arrInput.length > 0 )
{
arrInput.pop();
arrValueLang.pop();
arrValueLevel.pop();
}
display();
}
{
arrInput.push( arrInput.length );
//arrValueLang.push( "" );
//arrValueLevel.push( "" );
display();
}
function display()
{
document.getElementById( 'langs_select' ).innerHTML = '';
for( i = 0; i < arrInput.length; i++ )
{
document.getElementById( 'langs_select' ).innerHTML += createInput( arrInput[i] );
document.getElementsByName( 'langs' + arrInput[i] ).options[arrValueLang[arrInput[i]]].selected = true;
document.getElementsByName( 'level' + arrInput[i] ).options[arrValueLevel[arrInput[i]]].selected = true;
alert( arrValueLang[arrInput[i]] );
}
}
function saveLangValue( id, si )
{
arrValueLang[id] = si;
}
function saveLevelValue( id, si )
{
arrValueLevel[id] = si;
}
function createInput( id )
{
return '<select name="langs' + id + '" onChange="javascript:saveLangValue( '+id+', this.selectedIndex )">' + langOptions + '</select><select name="level' + id + '" onChange="javascript:saveLevelValue( '+id+', this.selectedIndex )"><option value="0">jezyk ojczysty</option><option value="1">rownorzedny z ojczystym</option><option value="2">zaawansowany</option><option value="3">sredni</option><option value="4">poczatkujacy</option></select>';
}
function deleteInput()
{
if ( arrInput.length > 0 )
{
arrInput.pop();
arrValueLang.pop();
arrValueLevel.pop();
}
display();
}
Wszystko dziala swietnie, oprocz odtwarzania wartosci. Powinno dzialac tak, ze jak dodaje nowe pole, albo usuwam stare, wartosci tych ktore zostaja, sie nie zmieniaja. Dlatego tez jest tam onChange i sie to ladnie zapisuje w tabeli. Ale jak potem w funkcji display() chce odpowiednim selectom nadac selectedIndex, tak zeby sie wybral od razy odpowiedni, to nic sie nie dzieje. Wartosci mam dobre w tablicy, juz sprawdzalem, to dziala, wiec chodzi tylko o to, zeby przy wyswietlaniu powiedziec mu ze selectedIndex danego pola ma byc taki a taki.
Tutaj w kodzie jest to zrobione metdoa
Kod
options[index].selected = true;
ale selectedIndex tez nie dziala.
Mam andzieje ze ktos wie gdzie tkwi blad. Pozdrawiam