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 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 回答
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
})

注意 myfile.js 文件中没有<script>标签。

另外,请记住您的代码正在使用jQuery,因此请myfile.js在参考jQuery.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. 您的第二个代码在 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 回答