1

選択ボックスのオプションをクリックすると実行される次のjQueryコードがあります。

$('#name, #account, #kid')
    .attr('disabled', 'disabled')
    .css('background-color', '#ffffcc')
    .animate({ backgroundColor:'#ffffff' }, 1000);

このコードは 、 、 の 3 つの入力フィールドを受け取り、#nameそれら#account#kid無効にして、背景色を変更し、背景色を白にフェードします。色をフェードできる jQuery Color プラグインを使用しています。

問題は、サイトが新たに読み込まれ、選択の選択オプションを変更すると、3 つのフィールドすべてが無効になり、背景色が変更されますが、最初の要素#nameが背景色を白にフェードしないことです。以下の2つだけです。

しかし、選択ボックスのオプションを再度変更しようとすると、毎回完全に機能します! そのため、問題はページのリロード後に初めて発生します。他の誰かが以前に同じことを経験しましたか?

全体のjQueryは次のとおりです。

$('#receiver').change(function(){

    var selected = $(this).children('option:selected').val();

    if (selected == 'new')
    {
        $('#name, #account, #kid').val('').attr('disabled', '');
    }
    else
    {
        $.getJSON("<?php echo site_url('ajax/get_receivers') ?>",
        function(data){
            $.each(data, function(i, data){
                if (data.id == selected)
                {
                    $('#name').val(data.name);
                    $('#account').val(data.account);
                    $('#kid').val(data.kid);

                    $('#name, #account, #kid')
                        .attr('disabled', 'disabled')
                        .css('background-color', '#ffffcc')
                        .animate({ backgroundColor:'#ffffff' }, 1000);
                }
            });
        });
    }

});

#receiverセレクトボックスです。

4

1 に答える 1