Toon posts:

[javascript] DOM een option tag van een selectbox selecteren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey ik ben bezig met een form waarin een onbeperkt aantal rijen met aantal fom elementen kan genereren.

1 | text | select | select | select | text | text |
2 | text | select | select | select | text | text |
3 | text | select | select | select | text | text |
4 | text | select | select | select | text | text |

Ik wil de gebruiker ook de mogelijkheid geven om van al die rijen alvast een optie te selecteren met één druk op de knop. Nu heb ik een functie gemaakt die in elk geval de text inputs een waarde kan geven.

Ik kom er niet echt achter hoe ik doc[i] in combinatie met .options[] kan gebruiken.

Ik wil dus met functie een andere value van de selectboxes selecteren mbhv mijn onderstaande scriptje. Wie kan me raad geven.

Handig om erbij te weten is dat binnen mijn form allemaal divjes zitten.

document.forms[0].doc[i].value werkt bv niet.

Omdat doc[i] niet rechtstreeks onder het form valt in het DOM.(neem ik aan)?

function tim(tag,name,val)
{
doc = document.getElementsByTagName(tag);
for (var i = 0; i < doc.length; i++){

if (doc[i].name == name)
{
doc[i].value = val;

}
}
}

<a href="javascript:tim('input','data[Price][price][]','hoi')">test</a>

[ Voor 4% gewijzigd door Verwijderd op 27-07-2006 16:23 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Dus je wilt gewoon in je dropdown een bepaalde waarde selecteren? Volgende keer wat beter zoeken: je had rustig kunnen opzoeken hoe je de value set voor 1 dropdown en dat kunnen uitbreiden naar de rest ;)

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
Show correct value if present in select-one
Input:  eleObj    (object)
        attrVal   (string)
Output: none
*/
function showSelectValue(eleObj,attrVal){
    for (var i=0; i<eleObj.length; i++){
        if (eleObj.options[i].value == attrVal){
            eleObj.options[i].selected = true;
            eleObj.value = eleObj.options[i].value;
            break;
        }
    }
}

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Hey thanx, dit werkt perfect.
en wat een snelle reply. moet wel zeggen dat ik niet goed meer wist waarnaar ik moest zoeken (de termen)

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10-2025
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    /**
     * Zet een popup naar een bepaalde waarde.
     * Als de waarde niet gevonden is, gebeurt er niets.
     */
    function setPopupToValue(popup, val)
    {
        if (popup)
        {
            for (var i=0; i<popup.options.length; i++)
            {
                if (popup.options[i].value == val)
                {
                    popup.selectedIndex = i;
                    break;
                }
            }
        }
    }


iets anders, maar volgens mij iets beter omdat je hierbij de length van je 'options' controleert, deze is getest op safari, ff (mac en win), ie (mac en win)

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 09-12-2025
Is dit niet voldoende:
JavaScript:
1
selectElement.value = 123;

Als ik het goed heb wordt in dit geval option met value 123 geselecteerd.

Noushka's Magnificent Dream | Unity


  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10-2025
nopes, was het maar zo eenvoudig :)

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 09-12-2025
In IE, Firefox en Opera werkt dit namelijk wel. In Safari/Konqueror niet?

Probeer het hier maar eens mee:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">

window.onload = function()
{
    document.getElementById('test').value = 2;
};

</script>
<select id="test">
    <option value="1">abc</option>
    <option value="2">def</option>
    <option value="3">ghi</option>
</select>

[ Voor 69% gewijzigd door Michali op 28-07-2006 11:19 ]

Noushka's Magnificent Dream | Unity


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Michali schreef op vrijdag 28 juli 2006 @ 11:14:
In IE, Firefox en Opera werkt dit namelijk wel. In Safari/Konqueror niet?

Probeer het hier maar eens mee:
Volgens mij had het te maken dat een oudere versie 5.5 zelfs (maar dat weet ik niet zeker) door jouw code de gehele dropdown leegmaakt en alleen value 2 zet en / of dat de waarde niet goed geset werd als je die weer ging opvragen met JS.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 09-12-2025
Was wel weer te verwachten.

Noushka's Magnificent Dream | Unity

Pagina: 1