2012-10-29 114 views
0

我有一段JavaScript代碼,似乎並沒有在Safari瀏覽器中工作,但它適用於所有其他瀏覽器。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中。

+2

在開發者控制檯中的任何錯誤? –

+1

它哪部分不工作?你有沒有檢查'contractDropDown'和'dateDropDown'是否實際選擇了他們應該的元素? (更一般的 - [你有什麼嘗試?](http://whathaveyoutried.com/)) – ruakh

+0

沒有足夠的信息來回答你的問題。 – Joe

回答

2

更換點擊事件與變化事件..

試試這個

contractDropDown.change(function() {