Scusate il titolo.
Di nuovo ciao, oggi mi trovo a non capire come mai una funzione (GetModuliProdotto) che dovrebbe popolare una select si comporta in modo diverso a seconda della situazione in cui viene chiamata.
Nel primo caso (NON FUNZIONA) la select viene popolata da una funzione ajax esterna
e quando faccio un change dalla select=server non popola la sottoselect modulidelprodotto.
Es. funzione richiamata da select che e' stata popolata da una funzione ajax
quindi senza opzioni
codice:
<select id="server" name="server" onchange="GetModuliProdotto(this);"> </select>
Mentre quando la funzione la richiamo da una select che popolo direttamente, funziona:
codice:
<select id="server" name="server" onchange="GetModuliProdotto(this);">
<option value="">Scelta server:</option>
<?php $sql3 = "select * from lib.sercl00f where sercli = '".$customerCLSCLI."' ";
$stmt3 = db2_exec($dbh, $sql3, array('cursor' => DB2_SCROLLABLE));
while ($row3 = db2_fetch_array($stmt3))
{
if(!$row3=="") {
$SERSRN = rtrim($row3[8]);
...
echo "<option value=\"$SERSRN\"> $SERSRN</option>";
}
}
echo "</select>"
Ora la funzione in questione e' questa, penso che il problema e' dovuto al fatto che dopo che e' stata popolata automaticamente la select si perda il sel.selectedIndex, ma non sono sicuro. Consigli, ciao
codice:
function GetModuliProdotto(sel)
{
var server = sel.options[sel.selectedIndex].value;
document.getElementById('moduli').options.length = 0;
if(server.length>0){
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'GetModuliProdotto.php?server='+server;
ajax[index].onCompletion = function(){ createModuli(index) };
ajax[index].runAJAX();
}
}
function createModuli(index)
{
var obj = document.getElementById('moduli');
eval(ajax[index].response);
}