当我从 Aptana Studio 3 打开预览编辑器时,下面的 jQuery 代码确实有效。不幸的是,当我使用 Chrome、IE 或 FF 打开我的网页时,jQuery 不起作用
<script>
$(document).ready(function() {
$('input[type="text"],input[type="password"],select,:submit').addClass("idleField");
$('input[type="text"],input[type="password"],select').focus(function() {
$(this).removeClass("idleField").addClass("focusField");
if (this.value == this.defaultValue){
this.value = '';
}
if(this.value != this.defaultValue){
this.select();
}
});
$('input[type="text"],input[type="password"],select').blur(function() {
$(this).removeClass("focusField").addClass("idleField");
if ($.trim(this.value == '')){
this.value = (this.defaultValue ? this.defaultValue : this.value);
}
});
$('#DOBM,#DOBY').change(function() {
if ($('#DOBM').val() == '04'||$('#DOBM').val() == '06'||$('#DOBM').val() == '09'||$('#DOBM').val() == '11') {
$("#DOBD option[value='31']").remove();
if ($("#DOBD option[value='29']").length == 0){
$("#DOBD").append("<option value='29'>29</option>");
}
if ($("#DOBD option[value='30']").length == 0){
$("#DOBD").append("<option value='30'>30</option>");
}
}
if ($('#DOBM').val() == '01'||$('#DOBM').val() == '03'||$('#DOBM').val() == '05'||
$('#DOBM').val() == '07'||$('#DOBM').val() == '08'||$('#DOBM').val() == '10'||$('#DOBM').val() == '12'){
if ($("#DOBD option[value='29']").length == 0){
$("#DOBD").append("<option value='29'>29</option>");
}
if ($("#DOBD option[value='30']").length == 0){
$("#DOBD").append("<option value='30'>30</option>");
}
if ($("#DOBD option[value='31']").length == 0){
$("#DOBD").append("<option value='31'>31</option>");
}
}
if ($('#DOBM').val() == '02'){
$("#DOBD option[value='31']").remove();
$("#DOBD option[value='30']").remove();
$("#DOBD option[value='29']").remove();
if (($('#DOBY').val() % 4 == 0)&&($('#DOBY').val() % 100 != 0)||($('#DOBY').val() % 400 == 0)){
$("#DOBD").append("<option value='29'>29</option>");
}
}
})
})
</script>
有人知道为什么它不起作用吗?我是编程新手,非常感谢任何帮助/建议。谢谢!
编辑:这是小提琴应该发生的事情:
编写 jQuery 的前两个块是为了更改表单输入上的 CSS。在焦点上,输入将更改为“focusField”,因此将具有 .css 文件中的新 CSS 属性。在模糊时,它变回类“idleField”。
如果用户没有输入,则返回默认值。如果用户输入了一些东西,它会保留他的输入。这确实有效。
我的 jQuery 代码的其余部分是更新一个月中的天数。如果选择的月份是 04||06||09||11,则删除第 31 天并附加第 29,30 天(如果它们不存在)。如果选择的月份是 01||03||05||07||08||10||12,则如果不存在天,则附加天 29、30、31。最后一个街区是二月 (02)。删除第 31、30、29 天。如果是闰年,则追加第 29 天。