W JavaScript, jak to zrobić, aby funkcja była gotowa do zmiany w dowolnym momencie? Chcę to zrobić, gdy ktoś wybiera inną opcję z rozwijanej formularza pojawi się obraz tego wybranego typu. Takie jak coś takiego:

        newTexture(document.worktopForm.worktopColour.value);

    function newTexture() {
            var textureName = '<img src="'document.worktopForm.worktopColour.value'.jpg>';
            document.getElementById("texture").innerHTML += textureName;        
    }


        <form name="worktopForm">

        <label>Choose colour of Worktop (Please select one)</label><br/>
        <select name="worktopColour">
            <option value="none" selected></option>
            <option value="starGalaxy">Star Galaxy (££)</option>
            <option value="tanBrown">Tan Brown (£££)</option>
            <option value="coolColour">Cool Colour (££££)</option>
            <option value="nutYellow">Nut Yellow (£££££)</option>
        </select>

        <div id="texture"></div></form>
1
Luke Turnbull 1 październik 2012, 14:41

3 odpowiedzi

Najlepsza odpowiedź

Możesz zadzwonić do dowolnej funkcji na onchange zdarzenia select

 <select id="worktopColour" onchange="newTexture();">


 function newTexture() {
        var textureName = document.getElementById("worktopColour");
        var  imagevalue=textureName.options[textureName.selectedIndex].value;        
 }

Użyj zmiennej imagevalue.

2
XMen 1 październik 2012, 12:22

Zmodyfikowana funkcja: jsfiddle

 document.worktopForm.worktopColour.onchange =newTexture;

function newTexture() {

        var textureName = '<img src="' + this.value + '.jpg">';
        document.getElementById("texture").innerHTML += textureName;        
}​
1
Anoop 1 październik 2012, 10:49

Coś takiego?

<!DOCTYPE html>
<meta charset=UTF-8><!-- validates as html5 -->
<title>select from list</title>
<script>
function go () {
   var e = document.getElementById('worktopColour');
   document.getElementById('texture').innerHTML += 
   e.options[e.selectedIndex].value+'.jpg <br>';
}
</script>

<form>
<label>Choose colour of Worktop</label><br>
<select id=worktopColour onChange=go()>
   <option value=none selected=selected>
   <option value=starGalaxy>Star Galaxy (££)
   <option value=tanBrown>Tan Brown (£££)
   <option value=coolColour>Cool Colour (££££)
   <option value=nutYellow>Nut Yellow (£££££)
</select></form>
<div id=texture></div>
0
BrazFlat 1 październik 2012, 12:04