如何使用 javascript 从 select 获取值
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。要测试此代码,您可以选择 "Size" 属性。
感谢您的帮助。
要选择使用 $('#group_2 :selected').val();
你的代码有点复杂
为什么在 Jquery 中使用像 document.getElementById("group_2").value; 这样的 vanilla JS ??
我已经对您的代码进行了一些更改,但我不知道以下值是什么,
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 在您的情况下应该如何工作:
但毕竟:
获取 select 元素的值:$("#group_2").val();
获取 selected 选项的文本:$("#group_2").find("option:selected").text();
获取selected选项的其他属性:$("#group_2").find("option:selected").attr("title");
你的情况:
var valueFromForm = $("#group_2").val();
我还可以建议检查附加到输入字段的 "keyUp" 事件,因为 jQuery 链的末尾是这样的:.trigger('keyup')
$(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。要测试此代码,您可以选择 "Size" 属性。
感谢您的帮助。
要选择使用 $('#group_2 :selected').val();
你的代码有点复杂
为什么在 Jquery 中使用像 document.getElementById("group_2").value; 这样的 vanilla JS ??
我已经对您的代码进行了一些更改,但我不知道以下值是什么,
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 在您的情况下应该如何工作:
但毕竟:
获取 select 元素的值:
$("#group_2").val();
获取 selected 选项的文本:
$("#group_2").find("option:selected").text();
获取selected选项的其他属性:
$("#group_2").find("option:selected").attr("title");
你的情况:
var valueFromForm = $("#group_2").val();
我还可以建议检查附加到输入字段的 "keyUp" 事件,因为 jQuery 链的末尾是这样的:.trigger('keyup')