2017-10-20 90 views
0

如何使用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,我想使用它。测试此代码您可以选择“大小”属性。

感谢您的帮助。

+0

product_quantity_up是什么元素? –

回答

0

要获得选择使用$('#group_2:selected')。val();

你正在你的代码更复杂

为什么使用香草JS喜欢的document.getElementById( “group_2”)值。里面的jquery?

+0

我添加到jquery valueFromForm = $('#group_2:selected')。val();但它不起作用。我做错了什么? – PSoft

+0

debug ... conole.log($('#group_2:selected')。val())让我们知道输出是什么 –

0

我已经把一些换到你的代码,但我不知道是下面的值,

allowBuyWhenOutOfStock quantityAvailable 字段名

现在的代码被破坏尝试

$(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>

0

请看看这个jsBin怎么看的get应该在你的情况下工作:

JsBin example

但毕竟:

  • select元素获取值:$("#group_2").val();

  • 获取文本所选选项:$("#group_2").find("option:selected").text();

  • 获取se的其他属性lected选项:$("#group_2").find("option:selected").attr("title");

你的情况:

var valueFromForm = $("#group_2").val();

我也可以建议检查连接到输入字段becasue您的jQuery链的末端出现了“使用keyUp”事件是这样的:.trigger('keyup')