0

私は次の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要素には適切に日付ピッカーが割り当てられていますが、配列内のどのフィールドにも割り当てられていません。

私が見逃している/間違っていることに関して何か目立つものはありますか?

4

1 に答える 1

2

.each()のコールバックは、インデックスと値の2つのパラメータを取ります。インデックスのみを使用しています。

代わりにこれを試してください:

$.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 
于 2013-03-25T20:47:41.940 に答える