Stratton Weekley Stratton Weekley - 1 month ago 8
HTML Question

How to change 2 hidden input value with select option value and ID with Javascript

I need to change two different hidden input values based on the option selected from a dropdown. One input value needs the value of the selected option. (This is working.) The second hidden input value needs the id of the selected option. (This is not working.) I have searched for a solution but have not found an answer.

<form name="cookbook" id="giftform" action="giftcard.php" onsubmit="redirectOutput(this)">
<div class="productSelectInput">
<p>Select your combination of cookbook and gift card amount to buy now.
<select onchange="GetSelectedValue(this)" id="cookbooks">
<option id="Giftcard25" value="43.25" selected="selected">Signed Uchi Cookbook & $25 gift card. Price: $43.25</option>
<option id="Giftcard50" value="93.25">Signed Uchi Cookbook & $50 Gift Card. Price: $93.25</option>
<option id="Giftcard75" value="118.25">Signed Uchi Cookbook & $75 Gift Card. Price: $118.25</option>
<option id="Giftcard100" value="143.25">Signed Uchi Cookbook & $100 Gift Card. Price: $143.25</option>
<option id="Giftcard150" value="193.25">Signed Uchi Cookbook & $150 Gift Card. Price: $193.25</option>
<option id="Giftcard200" value="243.25">Signed Uchi Cookbook & $200 Gift Card. Price: $243.25</option>
<option id="Giftcard250" value="293.25">Signed Uchi Cookbook & $250 Gift Card. Price: $293.25</option>
</select>
</p>
<p>If you are sending this gift directly to your recipient, you may enter a gift message here (please include sender's name, if applicable)
<textarea cols="43" rows="3" name="giftmessage" class="giftmessage"></textarea>
</p>
</div>
<input type="hidden" name="description" id="description" value="" />
<input type="hidden" name="amount" id="amount" value="43.25" />
<input type="submit" value="Buy Now" class="simple-input" />
</form>
<script type="text/javascript">
function GetSelectedValue(cookbooks) {
var selectedValue = cookbooks.value;
document.cookbook.amount.value = selectedValue;
var selectedMy = document.getElementById("cookbooks").id;
document.getElementById("typegc") = selectedMy;

}
</script>

Answer

I don't know which values goes where (that's up to you) but what you miss was to get the value of the selected option, here is the code:

 function GetSelectedValue(cookbooks) {
        var selectedValue = cookbooks.options[cookbooks.selectedIndex].value;
        var selectedMy = cookbooks.options[cookbooks.selectedIndex].id;
        document.getElementById("description").value = selectedValue;
        document.getElementById("amount").value = selectedMy;

     //You can erase this, just for demonstration to have the correct values
     console.log(selectedValue);
     console.log(selectedMy);
    }

Hope this help.