0

私はここでは jQuery 初心者であり、このスクリプトを外部の .js ファイルに移動する方法を見つけようとしています。私はすでにそれをコピーしてページで参照しようとしましたが、うまくいかないようです。

ここで何が欠けていますか?

<script type="text/javascript">
$(document).ready(function () {
    $('#YearD').change(function () {
        var selectedYear = $(this).val();
        if (selectedYear != null && selectedYear != '') {
            $.getJSON('@Url.Action("Months")', { year: selectedYear }, function (months) {
                var monthsSelect = $('#Month');
                monthsSelect.empty();
                $.each(months, function (index, month) {
                    monthsSelect.append($('<option/>', {
                        value: month.value,
                        text: month.text
                    }));
                });
            });
        }
    });
});
</script>

<script type="text/javascript">
$('#Month').change(function () {
    var selectedMonth = $(this).val();
    if (selectedMonth != null && selectedMonth != '') {
        $.getJSON('@Url.Action("Days")', { month: selectedMonth }, function (days) {
            var daysSelect = $('#Day');
            daysSelect.empty();
            if (days == 0) {
                daysSelect.css("visibility", "hidden");
            }
            else {
                daysSelect.css("visibility", "visible");
            }
            $.each(days, function (index, day) {
                daysSelect.append($('<option/>', {
                    value: day.value,
                    text: day.text
                }));
            });
        });
    }
});
</script>
4

3 に答える 3

0

あなたが持っている場合、

<script type="text/javascript">
$(document).ready(function () {
   // your code
})

やったほうがいい、

<script type='text/javascript' src='scripts/myfile.js'></script>

あなたのhtmlファイルで。

そして、myfile.jsファイル(scriptsフォルダーにあります)

$(document).ready(function () {
   // your code
})

<script>myfile.jsファイルにタグがないことに注意してください。

また、コードがを使用していることを忘れないでください。ファイルを参照した後は、を参照しjQueryてください。myfile.jsjQuery.js

例えば

<script type='text/javascript' src='scripts/myfile.js'></script>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>

また、コードをに配置します$(document).ready。2番目のコードは、domの準備が整う前に実行され、エラーがスローされます。

これは次のようになります(myfile.js内)

$(document).ready(function () {
    $('#YearD').change(function () {
        var selectedYear = $(this).val();
        if (selectedYear != null && selectedYear != '') {
            $.getJSON('@Url.Action("Months")', { year: selectedYear }, function (months) {
                var monthsSelect = $('#Month');
                monthsSelect.empty();
                $.each(months, function (index, month) {
                    monthsSelect.append($('<option/>', {
                        value: month.value,
                        text: month.text
                    }));
                });
            });
        }
    });
    $('#Month').change(function () {
    var selectedMonth = $(this).val();
    if (selectedMonth != null && selectedMonth != '') {
        $.getJSON('@Url.Action("Days")', { month: selectedMonth }, function (days) {
            var daysSelect = $('#Day');
            daysSelect.empty();
            if (days == 0) {
                daysSelect.css("visibility", "hidden");
            }
            else {
                daysSelect.css("visibility", "visible");
            }
            $.each(days, function (index, day) {
                daysSelect.append($('<option/>', {
                    value: day.value,
                    text: day.text
                }));
            });
        });
        }
    });

});
于 2012-05-26T06:01:33.143 に答える
0

コードを実行するページにこれを追加します。

<script src="js_file_name.js"></script>

次に、コードをコピーして、という名前のファイルに直接貼り付けますjs_file_name.js

于 2012-05-26T05:26:29.497 に答える
0

外部ファイルから<script type="text/javascript">とを削除します。</script>

これを HTML ファイルに追加します。

<script type="text/javascript" src="filename.js"></script>
于 2012-05-26T05:26:53.020 に答える