繁体   English   中英

如何从使用JavaScript的选择中获取价值

[英]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在您的情况下应如何工作:

JsBin示例

但毕竟:

  • 获取选择元素的值: $("#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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM