Ciao a tutti, è possibile fare il select dipendente con oracle?
ho già provato a fare il selectcodice:<select name="slcditta" id="slcditta" onchange="dennis(this[this.selectedIndex].value)""> <% While (NOT ditta.EOF) %> <option value="<%=(ditta.Fields.Item("ID_SOC_ESTERNA").Value)%>"><%=(ditta.Fields.Item("RAGIONE_SOCIALE").Value)%></option> <% ditta.MoveNext() Wend If (ditta.CursorType > 0) Then ditta.MoveFirst Else ditta.Requery End If %> </select></td> <td width="77"></td> </tr> <tr> <td class="style1">Personale:</td> <td colspan="2"><select name="select3" size="5" multiple="MULTIPLE"> <% if request.Form("slcditta") <> "" then While (NOT tecnici_est.EOF) %> <option value="<%=(tecnici_est.Fields.Item("ID_TECNICO_EST").Value)%>"><%=(tecnici_est.Fields.Item("COGNOME").Value)%></option> <% tecnici_est.MoveNext() Wend If (tecnici_est.CursorType > 0) Then tecnici_est.MoveFirst Else tecnici_est.Requery End If end if %> </select>
ho provato a girare in questo forum sui select dipendenti, ma il problema è che dovrei scrivere ogni array, le società sono mille e i tecnici esterni sono di più.codice:<% Dim tecnici_est Dim tecnici_est_numRows Set tecnici_est = Server.CreateObject("ADODB.Recordset") tecnici_est.ActiveConnection = MM_siman_STRING if request.Form("slcditta") <> "" then tecnici_est.Source = "SELECT * FROM SIMAN.TECNICI_SOC_ESTERNE where ID_SOC_ESTERNA = " & request.Form("slcditta") tecnici_est.CursorType = 0 tecnici_est.CursorLocation = 2 tecnici_est.LockType = 1 tecnici_est.Open() tecnici_est_numRows = 0 end if %>
ho provato in questo modo simile:
Visto che con gli array, vorrei che sia dinamica...codice:arr0 = ["Torino", "Asti"] arr00 = ["Torino","Maglione","Massello","Bosconero","Bonzo"] var arrReg arrReg = [arr0, arr1, arr2] // Function to handle dynamically altering the contents of the Reg List box function RegChange(newDisplay) { var RegSelect, ProSelect, ComSelect, NumEntries, i RegSelect = document.nav.Reg ProSelect = document.nav.Pro ComSelect = document.nav.Com // Azzero Province for (i = ProSelect.length; i > 0; i--) { ProSelect.options[i-1] = null } // Aggiungi Commento ProSelect.options[0] = new Option("-- Seleziona la Provincia --",-1) // If Reg is selected add its Province to the Province List box if (newDisplay >= 0) { NumEntries = arrReg[newDisplay].length for (i = 1; i <= NumEntries; i++) { ProSelect.options[i] = new Option((arrReg[newDisplay])[i-1],(i-1)) } } ProSelect.selectedIndex = 0 ProChange() } // Function to handle dynamically altering the contents of the Pro List box function ProChange(newDisplay) { var RegSelect, ProSelect, ComSelect, NumEntries, i RegSelect = document.nav.Reg ProSelect = document.nav.Pro ComSelect = document.nav.Com // Delete all entries in the Com list box for (i = ComSelect.length; i > 0; i--) { ComSelect.options[i-1] = null } // Add comment option to Com List box ComSelect.options[0] = new Option("-- Seleziona il Comune --",-1) // If Pro is selected add its Numeri to the Numeri List box if (newDisplay >= 0) { tempNumeri = eval("arr"+RegSelect[RegSelect.selectedIndex].value+newDisplay) NumEntries = tempNumeri.length for (i = 1; i <= NumEntries; i++) { ComSelect.options[i] = new Option(tempNumeri[i-1],i-1) } } ComSelect.selectedIndex = 0 }
Come si fa?? Mi fa un pò impazzire questo scripting
Grazie


Rispondi quotando