[英]How to get value from select using javascript
$(document).on('click', '.product_quantity_up', function(e){ var valueFromForm; valueFromForm = document.getElementById("group_2").value; e.preventDefault(); fieldName = $(this).data('field-qty'); var currentVal = parseInt($('input[name='+fieldName+']').val()); if (!allowBuyWhenOutOfStock && quantityAvailable > 0) quantityAvailableT = quantityAvailable; else quantityAvailableT = 100000000; if (!isNaN(currentVal) && currentVal < quantityAvailableT) $('input[name='+fieldName+']').val(currentVal + valueFromForm).trigger('keyup'); else $('input[name='+fieldName+']').val(quantityAvailableT); $('#quantity_wanted').change(); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <select name="group_2" id="group_2" class="form-control attribute_select no-print"> <option value="18" selected="selected" title="35">35</option> <option value="19" title="36">36</option> <option value="20" title="37">37</option> <option value="21" title="38">38</option> <option value="22" title="39">39</option> <option value="23" title="40">40</option> </select>
我有一个下拉列表,我想获得价值。 接下来,将此值添加到数量中。
查看valueFromForm变量。 这是我要在其中使用的Prestashop 1.6。 要测试此代码,可以选择“大小”属性。
感谢帮助。
要获得选择,请使用$('#group_2:selected')。val();
您使您的代码更加复杂
为什么使用香草JS这样的document.getElementById(“ group_2”)。value; 内jQuery?
我已经为您的代码添加了一些更改器,但是我不知道以下值是什么,
allowBuyWhenOutOfStock数量可用字段名称
现在代码毁了试试
$(document).ready(function() { var allowBuyWhenOutOfStock = true var quantityAvailable = 100 $(document).change(function(e) { var valueFromForm; valueFromForm = document.getElementById("group_2").value; e.preventDefault(); fieldName = $(this).data('field-qty'); var currentVal = parseInt($('input[name=' + fieldName + ']').val()); if (!allowBuyWhenOutOfStock && quantityAvailable > 0) { quantityAvailableT = quantityAvailable; } else { quantityAvailableT = 100000000; } if (!isNaN(currentVal) && currentVal < quantityAvailableT) { $('input[name=' + fieldName + ']').val(currentVal + valueFromForm).trigger('keyup'); } else { console.log(fieldName + " " + quantityAvailableT) $('input[name=' + fieldName + ']').val(quantityAvailableT); } $('#quantity_wanted').change(); }); })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <select name="group_2" id="group_2" class="form-control attribute_select no-print"> <option value="18" selected="selected"title="35">35</option> <option value="19" title="36">36</option> <option value="20" title="37">37</option> <option value="21" title="38">38</option> <option value="22" title="39">39</option> <option value="23" title="40">40</option> </select>
请查看此jsBin,以了解get在您的情况下应如何工作:
但毕竟:
获取选择元素的值: $("#group_2").val();
获取所选选项的文本: $("#group_2").find("option:selected").text();
获取所选选项的其他属性: $("#group_2").find("option:selected").attr("title");
在您的情况下:
var valueFromForm = $("#group_2").val();
我还建议您检查一下附加到输入字段的“ keyUp”事件,因为jQuery链的末尾是这样的: .trigger('keyup')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.