5

All I've is this but i get no value from the dropdown menu for java script to compare it to a string

    // JavaScript Document
var singleMulticontainer = document.getElementById("singleMultiContainer");
var singleMultiValue =  singleMultiContainer.options[singleMultiContainer.selectedIndex].value;
var nextButton = document.getElementById("nextButton");
var multipleSetWindow = "window.location='multiSet.html'"

if(singleMultiValue == "multi"){
    document.getElementById("nextButton").setAttribute("data-location", "multiSet.html");
}
else{
    alert("notworking");
}

And the dropdown menu is this one: how do i get the value from the options of single or multi container?

<form id"suspendedProperties">
    <p><h4>Select Station:
    <select name="stationDropdown">
        <option value="50028000">Tanama</option>
        <option value="60008001">Example Riv1</option>
        <option value="60008002">Example Riv2</option>
        <option value="60008003">Example Riv3</option>
        <option value="60008004">Example Riv4</option>
     </select>
     </h4></p>

    <p>Select Sample Medium:
        <select name="sampleMediumDropdown">
          <option value="Wer">Wer</option>
          <option value="WSQ">WSQ</option>
        </select>
        </p>
    <p>Begin Date
        <input type="date"/>
     </p>
     <p>Hydrologic Event: <select name="hydroEvent">
                            <option value="1">Example 1</option>
                            <option value="2">Example 2</option>
                            <option value="3">Example 3</option>
                            <option value="4">Example 4</option>
                            <option value="5">Example 5</option>
                            <option value="6">Example 6</option>
                          </select>
</p>
<p>Add:<input type="number" size=""/> <select name="singleMultiContainer"><option value="single">Single container sample</option><option value="multi">Multiple sets container</option></select></p>
 <p>Analyses Requested:(Applies to all samples)<br/></p>
 <div id="analyses" >
 <input type="checkbox" name="analysis" value="C">Concentration</input> 
 <input type="checkbox" name="analysis" value="SF">Sand-fine break**</input>&nbsp;  
 <input type="checkbox" name="analysis" value="SA">Sand analysis**</input>  <br/>
 <input type="checkbox" name="analysis" value="T">Turbidity</input> 
 <input type="checkbox" name="analysis" value="LOI">Loss-on-ignition**</input>&nbsp;    
 <input type="checkbox" name="analysis" value="DS">Dissolve solids</input>  <br/>
 <input type="checkbox" name="analysis" value="SC">Specific conductance</input>                                     
 <input type="checkbox" name="analysis" value="Z">Full-size fractions**</input>
 </div>
<input type="button" value="Back" onClick="window.location='SED_WE.html'"/>
<input type="button" value="Next" onClick="window.location='SampleInfo.html'"/>
</form>
Ch32k0
  • 244
  • 3
  • 17
  • what values do you want to compare? – Mohammad Areeb Siddiqui Jul 05 '13 at 16:50
  • You need to give your select an id to be able to `getElementById('singleMultiContainer')` – kalley Jul 05 '13 at 16:51
  • Notice `
    ` is missing an `=`
    – Sergio Jul 05 '13 at 16:53
  • is this helping you? http://jsfiddle.net/FnByB/ – Mohammad Areeb Siddiqui Jul 05 '13 at 16:54
  • @MohammadAreebSiddiqui I want to compare the value of a option in the singleMultiContainer with a string. – Ch32k0 Jul 05 '13 at 16:59
  • You are assigning the element to `singleMulticontainer` but are using the variable `singleMultiContainer` in the next step (capital C). It is not clear when the code runs. If it runs before the user selected a value, you will only get the default value. Overall it's not clear what exactly the problem is. You cannot just dump your code and expect us to fix everything that is wrong. – Felix Kling Jul 05 '13 at 17:00
  • @Ch32k0 did it worked for you? – Mohammad Areeb Siddiqui Jul 05 '13 at 17:00
  • Duplicate of [How to get the selected value of dropdownlist using JavaScript?](http://stackoverflow.com/q/1085801/218196). – Felix Kling Jul 05 '13 at 17:02
  • @FelixKling I'm looking for a reference on how to get a value from a dropdown menu and compare it to a string, not for people to fix my code, some people just made me realize of my mistakes in the code. – Ch32k0 Jul 05 '13 at 17:05
  • Well then, how to get the value is already [answered here](http://stackoverflow.com/q/1085801/218196) and for the comparison you are have to use one of the two [equality operators](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators). – Felix Kling Jul 05 '13 at 17:14

1 Answers1

2

Fiddle

You had forgot to ad a id to your select. I added <select name="singleMultiContainer" id="singleMultiContainer"> which had no id although you were "looking for it" in your script.
You had also some typo errors, I fixed those I found, so please check if this is what you want.

HTLM

<form id="suspendedProperties">
    <p>
        <h4>Select Station:
    <select name="stationDropdown">
        <option value="50028000">Tanama</option>
        <option value="60008001">Example Riv1</option>
        <option value="60008002">Example Riv2</option>
        <option value="60008003">Example Riv3</option>
        <option value="60008004">Example Riv4</option>
     </select>
     </h4>
    </p>
    <p>Select Sample Medium:
        <select name="sampleMediumDropdown">
            <option value="Wer">Wer</option>
            <option value="WSQ">WSQ</option>
        </select>
    </p>
    <p>Begin Date
        <input type="date" />
    </p>
    <p>Hydrologic Event:
        <select name="hydroEvent">
            <option value="1">Example 1</option>
            <option value="2">Example 2</option>
            <option value="3">Example 3</option>
            <option value="4">Example 4</option>
            <option value="5">Example 5</option>
            <option value="6">Example 6</option>
        </select>
    </p>
    <p>Add:
        <input type="number" size="" />
        <select name="singleMultiContainer" id="singleMultiContainer">
            <option value="single">Single container sample</option>
            <option value="multi">Multiple sets container</option>
        </select>
    </p>
    <p>Analyses Requested:(Applies to all samples)
        <br/>
    </p>
    <div id="analyses">
        <input type="checkbox" name="analysis" value="C">Concentration</input>
        <input type="checkbox" name="analysis" value="SF">Sand-fine break**</input>&nbsp;
        <input type="checkbox" name="analysis" value="SA">Sand analysis**</input>
        <br/>
        <input type="checkbox" name="analysis" value="T">Turbidity</input>
        <input type="checkbox" name="analysis" value="LOI">Loss-on-ignition**</input>&nbsp;
        <input type="checkbox" name="analysis" value="DS">Dissolve solids</input>
        <br/>
        <input type="checkbox" name="analysis" value="SC">Specific conductance</input>
        <input type="checkbox" name="analysis" value="Z">Full-size fractions**</input>
    </div>
    <input type="button" value="Back" onClick="window.location='SED_WE.html'" />
    <input type="button" value="Next" id="nextButton" onClick="window.location='SampleInfo.html'" />
</form>

JS

// JavaScript Document
var singleMultiContainer = document.getElementById("singleMultiContainer");
var singleMultiValue = singleMultiContainer.options[singleMultiContainer.selectedIndex].value;
var nextButton = document.getElementById("nextButton");
var multipleSetWindow = "window.location='multiSet.html'"

if (singleMultiValue == "multi") {
    document.getElementById("nextButton").setAttribute("onclick", "window.location='multiSet.html'");
} else {
    alert("notworking");
}
Sergio
  • 28,539
  • 11
  • 85
  • 132