0

我有一段 javascript 似乎不能在 safari 中运行,但它可以在所有其他浏览器中运行。

这是代码

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

            var contracts = $.evalJSON($("#json_contracts").val());
            var contractDropDown = $("#<%= c.cID%>");
            var dateDropDown = $("#<%= _startDate.cID %>");

            function populateMonths(i) {

                dateDropDown.empty();

                if (i == 0) {
                    dateDropDown.append("<option value=\"Select Month\">Select Month</option>");
                    return;
                }

                $(contracts[i-1].AvailableBillingMonths).each(function(j) {
                    var selected = "";
                    dateDropDown.append("<option value=\"" + contracts[i-1].AvailableBillingMonths[j].InvoiceMonth + "\" " + selected + ">" + contracts[i-1].AvailableBillingMonths[j].InvoiceMonth + "</option>");
                });
            }

            contractDropDown.click(function() {
                populateMonths(this.selectedIndex || 0);
            });
        });
    </script>

谁能明白为什么它不起作用?这个片段的重点是用正确的月份填充日期下拉列表,但它实际上从未在 safari 中填充它。

4

1 回答 1

2

点击事件替换为更改事件..

试试这个

contractDropDown.change(function() {
于 2012-10-29T15:39:36.370 回答