首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加用于验证的自定义数据属性时基础错误

添加用于验证的自定义数据属性时基础错误
EN

Stack Overflow用户
提问于 2015-01-23 18:39:40
回答 1查看 332关注 0票数 1

以下脚本运行良好,但foundation返回错误:

代码语言:javascript
复制
$("[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');
});

错误来自下面这一行:

代码语言:javascript
复制
$('.yourPayment .sel-box').attr('data-abide-validator', 'checkexpiry');

上面写着:

未捕获的TypeError:无法读取未定义的属性“”apply“”

我需要切换数据属性,因为在某些情况下,我只需要验证表单的某些部分,而不是所有内容。

removeAttr工作正常,但添加它时就不行了。

代码语言:javascript
复制
        <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>
EN

回答 1

Stack Overflow用户

发布于 2015-01-23 18:52:24

我想可能是选择器的问题。查看html,yourPayment类中没有任何元素。如果要添加和删除相同的元素,则应使用相同的选择器。"#payWithNewCard选择“

如果你使用数据属性,它会更容易一些:

代码语言:javascript
复制
$("#payWithNewCard select").removeData('abide-validator');

$('#payWithNewCard select').data('abide-validator', 'checkexpiry');

这将删除并添加属性‘data-abide validator’。

抱歉,所有的编辑-现在应该是好的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28108033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档