内部jQuery在chrome,IE,FF中不起作用

时间:2013-03-24 17:06:50

标签: jquery internet-explorer google-chrome firefox

当我从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天。

1 个答案:

答案 0 :(得分:1)

我改变了你的小提琴中的一些东西,它现在正在工作

看看这是不是你想要的  

Fiddle

  • 您在末尾有{$ 1}}