Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585

    if su posizione specifica di un array

    Ciao a Tutti,
    ho 2 menu a tendina fra loro concatenati:

    <head>
    var sum_db = new Object()
    sum_db["email1"] = [{value:"I01 - Problemi primo livello", text:"I01 - Problemi primo livello"},
    {value:"I02 - Problemi RDM", text:"I02 - Problemi RDM"},
    {value:"Free Text", text:"Free Text "}];
    sum_db["email2"] = [{value:"I03 - Varie", text:"I03 - Varie"}];
    //
    //
    function setIssue(chooser) {
    var newElem;
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
    var Iss_Chooser = chooser.form.elements["iss_sum"];
    while (Iss_Chooser.options.length) {
    Iss_Chooser.remove(0);
    }
    var choice = chooser.options[chooser.selectedIndex].value;
    var db = sum_db[choice];
    if (choice == "email1") {
    newElem = document.createElement("option");
    newElem.text = "Choose an issue ...";
    newElem.value = "Choose Issue ...";
    Iss_Chooser.add(newElem, where);
    }
    for (var i = 0; i < db.length; i++) {
    newElem = document.createElement("option");
    // if (("email1") && (db.selectedIndex='2')) {
    if (("email1") && (db.arrayIndexOf('Free Text')) {
    newElem.style.color='blue';}
    newElem.text = db[i].text;
    newElem.value = db[i].value;
    Iss_Chooser.add(newElem, where);
    }
    }
    //
    </script>
    </head>

    <body>
    <form>
    <select size="1" name="mess" id="mess" onchange="setIssue(this)">
    <option value="email1" selected>email1</option>
    <option value="email2">email2</option>
    </select>
    ....
    ....
    <select id="iss_sum" name="iss_sum">
    <option value="" selected>Select choice</option>
    </select>


    Il mio problema e':
    quando uno seleziona email1,
    nel listato dei valori che compare nell 'altro menu',
    SOLO il testo "Free Text ", che occupa la posizione 2 (iniziando a contare da zero),
    deve comparire in Blu...

    Ho provato col selectedindex, con indexof senza good result

    Grazie mille in anticipo !!!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se ti basi sull' indice nell' array, la condizione che cerchi e' semplicemente
    if (choice=="email1" && i==2) {

    se invece dipende dal testo, che deve cominciare con "Free Text", puo' essere
    if (choice=="email1" && db[i].text.indexOf('Free Text')==0) {

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Grazie mille, funziona !!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.