2017-01-26 3 views
1

Ich versuche, alle Tasten in meiner Sicht, wenn der Anruf meiner Ajax zu deaktivieren true zurück, aber alles, was ich versuchte, so funktionierte nicht weit:Deaktivieren dynamisch genereted Bootstrap-Tasten in mvc Ansicht

@model IEnumerable<eksp.Models.WorkRole> 
    @{ 
     ViewBag.Title = "DisplayListOfRolesUser"; 
    } 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <script type="text/javascript"> 
      $(document).ready(function() { 
       var dataJSON; 
       $.ajax({ 
        type: "POST", 
        url: '@Url.Action("checkNumRoles", "WorkRoles")', 
        dataType: "json", 
        success: successFunc, 
        error: errorFunc 
       }); 

       function successFunc(data, status) { 



        if (data== true) { 

         $(".btn").prop('disabled', true); 
        } 
        alert(data); 
       } 

       function errorFunc() { 
        alert('error'); 
       } 


      }); 


    </script> 



    @foreach (var item in Model) 
    { 

     <div class="jumbotron"> 
      <h1>@Html.DisplayFor(modelItem => item.RoleName)</h1> 
      <p class="lead">@Html.DisplayFor(modelItem => item.RoleDescription)</p> 
      <p> @Html.ActionLink(">Focus on this one!", "addWorkRoleUser", new { id = item.WorkRoleId }, new { @class = "btn btn-primary btn-lg" })</p> 
     </div>   

    } 

Whate ich versuchte, so weit ist:

$('.btn').addClass('btn-disabled'); 
$('.btn').attr('disabled', 'disabled'); 
$('.btn').prop('disabled', true); 

Ich verstehe nicht, warum das nicht funktioniert. Vermutlich vermisse ich etwas sehr kleines, aber ich weiß nicht was. Jede Hilfe wird geschätzt.

+0

Haben legen Sie einen Haltepunkt (oder eine Warnung) in Ihrem 'successFunc' um sicherzustellen, dass Sie den richtigen Wert des richtigen Datentyp empfangen? –

+0

Außerdem verweist Ihre if-Anweisung auf eine Variable, deren Zuweisung auskommentiert ist. –

+0

Ich erhalte den korrekten Wert. Auch die Variable habe ich gerade auskommentiert, bevor ich hier poste. Das ist also nicht das Problem. –

Antwort

2

Verwenden Sie die deaktivierte Klasse zum Deaktivieren der Schaltfläche.

$('.btn').addClass('disabled'); 
+0

danke, es hat funktioniert :) –

Verwandte Themen