Javascript JS在更改MVC时触发两次确认框

Javascript JS在更改MVC时触发两次确认框,javascript,model-view-controller,drop-down-menu,onchange,Javascript,Model View Controller,Drop Down Menu,Onchange,我有一个问题,在Telerik dropdownlist上,我有一个更改选择功能。如果选择了列表中的项目,此函数将使用ajax调用保存一个值。如果选择不确定,将显示确认框,如果用户按确定,将重定向到另一页。如果按“取消”,则需要用空字符串填充字段。 问题是:如果用户按CANCEL按钮,确认框会触发两次…我试图在$('#Assessment').val('')之后放置return false;但是不起作用。。 有什么解决办法吗 下拉列表: @(Html.Kendo().DropDownListFo

我有一个问题,在Telerik dropdownlist上,我有一个更改选择功能。如果选择了列表中的项目,此函数将使用ajax调用保存一个值。如果选择不确定,将显示确认框,如果用户按确定,将重定向到另一页。如果按“取消”,则需要用空字符串填充字段。
问题是:如果用户按CANCEL按钮,确认框会触发两次…我试图在$('#Assessment').val('')之后放置return false;但是不起作用。。 有什么解决办法吗

下拉列表:

@(Html.Kendo().DropDownListFor(m => m)
     .Name("Assessment").HtmlAttributes(new { @style = "text-align:center", onchange = "saveAssessment()" })
        .OptionLabel("Select an assessment")
        .DataTextField("DisplayName")
        .DataValueField("Value")
        .Value("DisplayName")
JS函数

function saveAssessment() {
     var assessmentId = $('#Assessment').val();
     var grid = $('#_gridProjectCheckList').data('kendoGrid');
     var selectedItem = grid.dataItem(grid.select());
     var ciId = selectedItem.Id;
     var ciText = $("#Assessment").data("kendoDropDownList").text();
     if (assessmentId !== null && (ciText === 'Ok' || ciText === 'NotApplicable')) {
         $.ajaxSetup({ cache: false });
         $.ajax({
             url: 'UpdateProjectCheckItemAssessment',
             type: "POST",
             data: { assessmentId: assessmentId, id: ciId },
             success: function (response) {
                 $('#Assessment').val(response.assessmentVal);
                 $('#_gridProjectCheckList').data('kendoGrid').dataSource.read();
             }
         });
     }
     else {
         var msgRedir = confirm("You will be redirected to Assessment Page");
         if (msgRedir) {
             window.location.href = 'UpdateProjectCheckItem' + '/' + selectedItem.Id;
         }
             $('#Assessment').val('');
     }
 }