webForumDet fria alternativet

Hantera värde från select

JavaScriptur Javascript

3 svar · 262 visningar · startad av henkz

Medlem sedan apr. 2002183 inlägg
Frågan#1

Nu har jag fastnat helt.

Jag vill kunna hämta ett värde från en selectlista med "onChange" och jämföra värdet mot en lista. Om värdet matchar någon av talen i listan, ska en <div> visas.

tex
<option value='1'>Val 1</option>
<option value='2'>Val 2</option>
m.fl

Tänkbar lösning:
OM värde = "1, 3, 14, 45" DÅ visas en <div>

Går detta att lösa?

Medlem sedan dec. 20025 483 inlägg
#2
<script type="text/javascript">

Array.prototype.contains = function(v){
    var i = this.length;
    while (i--)
	if (this[i] == v)
	    return true;
    return false;
}

function sdiv(v){
    var elm = document.getElementById("div");

    if ("1, 3, 14, 45".split(",").contains(v))
	elm.style.visibility = "visible";
    else
	elm.style.visibility = "hidden";
}
</script>

<form>
    <select onchange="sdiv(this.options[this.selectedIndex].value)">
	<option value="1">1</option>
	<option value="2">2</option>
    </select>
</form>

<div id="div" style="visibility:hidden">div</div>
Medlem sedan apr. 2002183 inlägg
#3

Tack, en bra bit på väg!

Första idet (2) hittas och fungerar som jag har tänkt, men de övriga 3,14,45 , valen fungerar inte.

Medlem sedan apr. 2002183 inlägg
#4

löste det!

Ändrade:
if ("1, 3, 14, 45".split(",").contains(v))
till
if ("1,3,14,45".split(",").contains(v))

122 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)