jquery ui datepicker onSelect方法语法

时间:2012-04-23 13:56:02

标签: jquery jquery-ui razor

嘿大家我在使用jquery ui datepicker onSelect事件时遇到语法问题。这是我的代码:

$(document).ready(function () {
    $('.datePicker').datepicker({
        onSelect: function(dateText, inst) {
            var serviceID = $('#Service').val();
            var providerID = $('#Provider').val();
            $.getJSON('@Url.Action("Calendar/FreeSlots")', { serviceId: serviceID, providerId: providerID, date: dateText  }, function (slots) {
                var TimeSlots = $('#TimeSlots');
                TimeSlots.empty();
                $.each(slots, function (index, slot) {
                    TimeSlots.append($('<option/>', {
                         value: slot.value,
                         text: slot.text
                    }));//end append
                }); //end each
            }    //end onSelect
    }); //End datepicker attributes ---->  Firebug Error: missing ) after argument list 
}); ///End Document Ready

我已经检查过并仔细检查了但是我找不到如何修复语法。您可以在评论中看到Firebug告诉我有关语法错误的信息。请帮忙

5 个答案:

答案 0 :(得分:2)

您未关闭$.getJSON来电

$.getJSON('@Url.Action("Calendar/FreeSlots")', { serviceId: serviceID, providerId: providerID, date: dateText  }, function (slots) {
            var TimeSlots = $('#TimeSlots');
            TimeSlots.empty();
            $.each(slots, function (index, slot) {
                TimeSlots.append($('<option/>', {
                     value: slot.value,
                     text: slot.text
                }));
            });
        });

答案 1 :(得分:1)

on end on选择您忘记关闭$ .getJson

$.getJSON('@Url.Action("Calendar/FreeSlots")', { serviceId: serviceID, providerId: providerID, date: dateText  }, function (slots) {
           var TimeSlots = $('#TimeSlots');
            TimeSlots.empty();
            $.each(slots, function (index, slot) {
                TimeSlots.append($('<option/>', {
                     value: slot.value,
                     text: slot.text
                }));//end append
            }); //end each
        }); //end onSelect

答案 2 :(得分:1)

您的} // endOnSelect并未结束您的onSelect,而是getJSON

}之前,添加另一个

}); // end getJSON

答案 3 :(得分:1)

您忘记了}来电的结束$.each()

}));//end append

应该是:

    }) //end append
}); //end each

答案 4 :(得分:0)

人们解决了你的问题。但是你为什么不使用JS调试器呢? Firefox,Firefox和其他一些内置的Firebug,IE有开发者工具。你知道它们派上用场了。