0

以下のjQueryコードは、Aptana Studio 3からプレビューエディターを開いたときに機能します。残念ながら、Chrome、IE、またはFFでWebページを開いたときに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の最初の2つのブロックは、フォーム入力のCSSを変更するために作成されました。フォーカスすると、入力は「focusField」に変更されるため、.cssファイルに新しいCSSプロパティが含まれます。ぼかしを入れると、クラス「idleField」に戻ります。

ユーザーが入力を入力していない場合は、デフォルト値に戻ります。ユーザーが何かを入力した場合、それは彼の入力を保持します。これは機能します。

私のjQueryコードの残りの部分は、1か月の日数を更新することです。選択した月が04||06 || 09 || 11の場合、31日目を削除し、存在しない場合は29、30日を追加します。選択した月が01||03 || 05 || 07 || 08 || 10 || 12の場合、日が存在しない場合は29、30、31日を追加します。最後のブロックは2月(02)です。31、30、29日を削除します。うるう年の場合は、29日目を追加します。

4

1 に答える 1

1

私はあなたのフィドルのいくつかのことを変更しました、そしてそれは今働いています

これがあなたが望むものであるかどうかを確認してください

フィドル

  • 最後に不要な角かっこがありました })
于 2013-03-24T18:37:43.067 に答える