$(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();
});
&#13;
<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>
&#13;
我有一个下拉列表,我想获得价值。接下来,将此值添加到数量中。
查看valueFromForm变量。这是一个Prestashop 1.6,我想用它。要测试此代码您可以选择&#34;尺寸&#34;属性。
感谢您的帮助。
答案 0 :(得分:0)
要获得选择,请使用 $('#group_2:selected')。val();
你使代码变得更复杂
为什么在Jquery里面使用像 document.getElementById(“group_2”)。value; 这样的vanilla?
答案 1 :(得分:0)
我已经为您的代码添加了一些更改器,但我不知道以下值是什么,
allowBuyWhenOutOfStock quantityAvailable fieldName的
现在代码正在破坏尝试
$(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();
});
})
&#13;
<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>
&#13;
答案 2 :(得分:0)
请查看此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')