我正在使用 JQuery 在 OpenCart 中開發變體部分。我需要將一個值存盤到輸入中,并將該輸入值帶到另一個 Ajax 呼叫中。
當我從輸入中獲取值時,我面臨未定義的錯誤。
這是HTML代碼:
{% if product_type == '1' %}
<div class="product_variant color">
<h3>Available Options</h3>
{% for variant in variants %}
<div class="">
<label>{{variant.variant_name}}</label>
{% set i = 1 %}
<div class="radios">
{% for variant_value in variant.variant_values %}
<input type="radio" name="rGroup{{variant.variant_name}}" value="{{variant_value.variant_value_id}}" id="r{{variant_value.variant_value_id}}" />
<label class="radio" for="r{{variant_value.variant_value_id}}" {% if variant.variant_name == 'Color' %} style="background:{{variant_value.code}}" {% endif %}
{% if variant.variant_name != 'Color' %} style="background:#fff; text-align:center; padding-top:5px;" {% endif %} value="{{variant.variant_id}}_{{variant_value.variant_value_id}}">{% if variant.variant_name != 'Color' %} {{variant_value.variant_value}}{% endif %}</label>
{% if i == 1 %}
<input type="hidden" class="variant_input_{{variant.variant_id}}" name="variant_name[]" value="" />
{% endif %}
{% set i = i 1 %}
{% endfor %}
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
jQuery代碼:
$('.radio').on('click', function() {
var variant_array = $(this).attr('value').split("_");
$('.variant_input_' variant_array[0]).val(variant_array[1]);
var data = $('input[name="variant_name"]').val();
alert(data);
});
請任何人幫助我。或者建議更好的方法來完成這項任務。
輸入是一個陣列
uj5u.com熱心網友回復:
沒有輸入 named variant_name,名字是variant_name[]。您不能忽略[]名稱中的 。
您還需要選擇與您單擊的標簽在同一 DIV 中的那個。
$('.radio').on('click', function() {
var variant_array = $(this).attr('value').split("_");
$('.variant_input_' variant_array[0]).val(variant_array[1]);
var data = $(this).closest("div").find('input[name="variant_name[]"]').val();
alert(data);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/428739.html
