以下脚本运行良好,但foundation返回错误:
$("[data-checkbox]").on('click', function(){
$("#payWithNewCard input").removeAttr('required');
$("#payWithNewCard .columns").removeClass('form-group');
$('.yourPayment .sel-box').removeData('abide-validator');
});
$('#paymentMethodNewCard').on('click', function(){
$('.yourPayment .sel-box').data('abide-validator', 'checkexpiry');
$("#payWithNewCard input").prop('required', true);
$(".logged-in-saved-card").addClass('form-group');
});错误来自下面这一行:
$('.yourPayment .sel-box').attr('data-abide-validator', 'checkexpiry');上面写着:
未捕获的TypeError:无法读取未定义的属性“”apply“”
我需要切换数据属性,因为在某些情况下,我只需要验证表单的某些部分,而不是所有内容。
removeAttr工作正常,但添加它时就不行了。
<div class="small-4 columns expiryDateWrapper">
<label>{{ 'EXPIRYDATE'|trans }} *</label>
<select class="sel-box month" name="ccExpirationMonth" data-abide-validator="checkExpiry">
<option value="">MM</option>
{% for month in 1..12 %}
<option value="{{ "%02d"|format(month) }}">{{ "%02d"|format(month) }}</option>
{% endfor %}
</select>
<select class="sel-box year" name="ccExpirationYear" data-abide-validator="checkExpiry">
<option value="">YYYY</option>
{% set thisYear = date()|date("Y") %}
{% for year in thisYear..thisYear+Booking.CREDIT_CARD_EXPIRES_YEARS_AHEAD %}
<option value="{{ year }}">{{ year }}</option>
{% endfor %}
</select>
</div>发布于 2015-01-23 18:52:24
我想可能是选择器的问题。查看html,yourPayment类中没有任何元素。如果要添加和删除相同的元素,则应使用相同的选择器。"#payWithNewCard选择“
如果你使用数据属性,它会更容易一些:
$("#payWithNewCard select").removeData('abide-validator');
$('#payWithNewCard select').data('abide-validator', 'checkexpiry');这将删除并添加属性‘data-abide validator’。
抱歉,所有的编辑-现在应该是好的。
https://stackoverflow.com/questions/28108033
复制相似问题