当我单击选择框中的选项时,我有以下 jQuery 代码运行:
$('#name, #account, #kid')
.attr('disabled', 'disabled')
.css('background-color', '#ffffcc')
.animate({ backgroundColor:'#ffffff' }, 1000);
此代码采用三个输入字段#name
,#account
并#kid
禁用它们,更改背景颜色,然后将背景颜色淡化为白色。我正在使用允许我淡化颜色的 jQuery Color 插件。
问题是,当一个站点新加载时,我正在更改选择的选定选项,它会禁用所有三个字段,更改背景颜色,但第一个元素#name
不会将背景颜色淡化为白色。只有以下两个。
但是,如果我再次尝试更改选择框选项,它每次都能完美运行!所以问题只在页面重新加载后第一次出现。以前有没有其他人有过同样的经历?
这是整个 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
作为选择框。