jQuery在元素集上添加属性以显示无

时间:2015-01-23 10:03:08

标签: jquery

我需要在隐藏元素上添加以下属性:

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

问题是我的select设置为none,因为我使用插件来自定义它。

以下目前无效。

    $('#paymentMethodNewCard').on('click', function(){
        $("#payWithNewCard select").attr('data-abide-validator', 'checkexpiry');
    });

HTML:

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

班级&#34; sel-box&#34;触发插件以隐藏本机选择并使用span元素重新创建自定义选择,这就是隐藏选择的原因。但是,对于FOundation,我需要在实际选择中使用上面指定的数据属性。

1 个答案:

答案 0 :(得分:0)

而不是点击写入change事件,而是在更改事件函数中使用$(this)

$('#paymentMethodNewCard').on('change', function(){
    $(this).attr('data-abide-validator', 'checkexpiry');
});