2017-06-27 3 views
0

À mon avis, je mvc un DropDownList qui obtient des valeurs d'un dictionnaireLa fonction JS n'est pas définie. Comment référencer la fonction?

<div class="InputPart"> 
    @(Html.Telerik().DropDownListFor(model => model.PasportAddressRegionID) 
        .Name("ddlfRegions1") 
        .BindTo(new SelectList((IEnumerable<Dictionary>)ViewData["Regions"], "ID", "Title")) 
        .ClientEvents(e => e.OnChange("changeRegion1")) 
        .HtmlAttributes(new { style = "min-width:200px" })) 
    </div> 

et j'ai fonction JS changeRegion1() qui obtient ces valeurs.

<script type="text/javascript"> 
function changeRegion1() { 
    var rgnId = $('#ddlfRegions1').data('tDropDownList').value(); 
    $.ajax({ 
     url: '@(Url.Action("_GetDistrict", "Staffs"))', 
     data: { regionId: rgnId }, 
     type: "POST", 
     success: function (result) { 
      var combobox = $('#ddlfDistricts1').data('tDropDownList'); 
      combobox.dataBind(result); 
      combobox.enable(); 
     } 
    }); 
} </script> 

je mets la fonction dans le même point de vue, tout le code ci-dessous, mais quand je courir obtenu Uncaught ReferenceError: changeRegion1 n'est pas défini. La fonction elle-même est OK, mais il me semble que le gestionnaire d'événements ne le voit pas ici. Donc, je me demande juste ce qui ne va pas ici? Et comment devrais-je référencer la fonction?

Toute aide est appréciée

+1

Êtes-vous absolument sûr que le code est présent sur la page? Si vous regardez la source de la page dans le navigateur, la voyez-vous? – JJJ

+0

@JJJ Non, en fait, je ne trouve pas ce code sur la sourse de la page, mais il présente sur la vue. Hmm .. Avez-vous des idées sur la façon de gérer cela? – RinaMi

+0

@RinaMi Avez-vous vérifié la console pour vérifier les erreurs avant que votre script soit rendu? – User3250

Répondre

-1

Voici un exemple pour la liste déroulante interface utilisateur Kendu Gestion des événements pour ASP.Net et MVC. Comparez avec votre code. L'exemple montre des événements, vous appelez ClientEvents autrement semble ok.

http://docs.telerik.com/aspnet-mvc/helpers/dropdownlist/overview

 @(Html.Kendo().DropDownList() 
     .Name("dropdownlist") 
     .BindTo(new string[] { "Item1", "Item2", "Item3" }) 
     .Events(e => e 
      .Select("dropdownlist_select") 
      .Change("dropdownlist_change") 
    ) 
    ) 
    <script> 
    function dropdownlist_select() { 
     //Handle the select event. 
    } 

    function dropdownlist_change() { 
     //Handle the change event. 
    } 
+1

Merci pour la réponse, mais cet exemple utilise Kendo(). DropDownList() qui est un peu peu différent – RinaMi

+0

@ RinaMi Mes excuses. –