我有一段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中填充它。
答案 0 :(得分:2)
将点击事件替换为更改事件..
试试这个
contractDropDown.change(function() {