Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-10-2009, 15:50   #1
scarec
Junior Member
 
Iscritto dal: Oct 2009
Messaggi: 1
[JAVASCRIPT] Ciclo su options select

Chiedo aiuto per questo problema: ho due select create dinamicamente. Quando seleziono il valore dalla selectA i valori nella selectB cambiano (il tutto con ajax e php).

Se seleziono con il mouse il valore del selectA i valori di selectB cambiano correttamente.

A volte ho bisogno di far fare questa operazione in automatico, senza che la faccia l'utente.

Ho creato uno script js che funziona in parte.

Frammento di codice modifybar.js: n ed m sono rispettivamente selectA e selectB
Codice:
var n=document.getElementById("user_category");
var m=document.getElementById("type_barrier");
var y=0;
var found=false;
while (!found){
  y=y+1;
  n.selectedIndex=y;
  loadList('type_barrier',getSelected(n));
  alert("ciao");
  for (x=1; x<m.length; x++){
    m.selectedIndex=x;
    if (m.value==vc){
    found=true;
    break;
  } 
}
La funzione loadList e':
Codice:
var xmlHttp = getXmlHttpObject();

function loadList(tb, id){
  xmlHttp.open('GET', 'request.php?table='+tb+'&id='+id, true);
  xmlHttp.onreadystatechange = stateChanged;
  xmlHttp.send(null);
}
function addOption(select, value, text) {
  var option = document.createElement("option");
  option.value = value+'§'+text,
  option.text = text;
  try {
    select.add(option, null);
  } catch(e) {
  // For Internet Explorer
  select.add(option);
  }
}
function getSelected(select) {
  // Return <option> value selected
  return select.options[select.selectedIndex].value;
}
function stateChanged() {
  if(xmlHttp.readyState == 4) {
    // State OK
    if (xmlHttp.status == 200) {
      var resp = xmlHttp.responseText;
      if(resp) {
        // Couple of value into answer string are separated from ;
        var values = resp.split(';');
        // First element is list ID
        var listId = values.shift();
        var select = document.getElementById(listId);
        select.disabled=false;
        // Delete old values
        while (select.options.length) {
          select.remove(0);
        }

        if(listId == 'user_category') {
          addOption (select, 0, '-- Select user --');
        }
        else {
          addOption (select, 0, '-- Select barrier --');
        }
        var limit = values.length;

        for(i=0; i < limit; i++) {
          var pair = values[i].split('|');
          addOption(select, pair[0], pair[1]);
        }
      }
    } else {
      alert(xmlHttp.responseText);
    }
  }
}

function getXmlHttpObject(){
  var xmlHttp=null;
  try{
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e){
    // Internet Explorer
    try{
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e){
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}
I miei problemi sono 2:

PROBLEMA1: se da modifybar.js lascio alert("ciao") lo script funziona. Siccome l'alert non lo vorrei (era stato messo in fase di debug per verificarne il comportamento) l'ho tolto ma lo script mi cicla su tutti i valori delle due select e per ogni voce di selectA mi lancia due alert vuoti.

PROBLEMA2: loadList ho dovuto richiamarla a mano perche' con il ciclo di modifybar.js l'evento onchange nella selectA che richiama loadList non va.

Attendo con fiducia!

Un saluto da un nuovo utente.

Ultima modifica di scarec : 29-10-2009 alle 15:57. Motivo: non avevo indentato bene il codice, scusate
scarec è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Fino a 45.000 dollari di vantaggi per le...
Cooler Master V8 ACE 3DHP: un'unica torr...
SpaceX vuole 40 miliardi per i chip Nvid...
Power Station portatile EcoFlow DELTA 2 ...
Full Self-Driving di Tesla, la Germania ...
Nobel per la Fisica 2026 a Francis Halze...
Niente lunotto, tre motori e un cofano i...
Fai fare tutto all'intelligenza artifici...
ASUS PRIME Radeon RX 9070 a 599,99€: pre...
Stop ai datacenter di Google in Finlandi...
Uncharted, Nolan North è pronto a...
Diritto all'oblio, il Tribunale di Milan...
Terre rare dagli scarichi: la ricerca su...
Satelliti a rischio scontro: ecco l'osse...
Il controller definitivo per il Cloud Ga...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:41.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v