将datepicker分配给每个数组元素

时间:2013-03-25 20:43:38

标签: jquery

我有以下javascript

        $(document).ready(function(){
            $.datepicker.setDefaults({
                changeMonth: true,
                changeYear: true,
                dateFormat : 'yy-mm-dd',
                inline : true,
            });
            var dateFields = ['non_fed_photo_id_exp_date', 'non_fed_id_exp_date', 'federal_photo_id_exp_date'];
            $.each(dateFields, function(field){
                $('#UserRegistration_user_'+field).datepicker({
                    yearRange: '<?php echo date('Y'); ?>:+30'
                });
            });
            $('#UserRegistration_user_dob').datepicker({
                defaultDate: '-20y',
                yearRange: '-100:-15'
            });
        });

UserRegistration_user_dob元素正在正确分配了datepicker,但没有数组中的字段。

对于我遗失/做错的事情,有什么突出的地方吗?

1 个答案:

答案 0 :(得分:2)

.each()的回调有两个参数,即索引和值。你只使用索引。

请改为尝试:

$.each(dateFields, function (idx,field) {...

您的原始代码会产生以下选择器:

#UserRegistration_user_0 
#UserRegistration_user_1 
#UserRegistration_user_2 

我的小修改会产生:

#UserRegistration_user_non_fed_photo_id_exp_date 
#UserRegistration_user_non_fed_id_exp_date 
#UserRegistration_user_federal_photo_id_exp_date