2016-10-11 2 views
0

Es zeigt mir nichts in meiner Eingabe.Zeigt keine Daten in der Auswahl

Das ist mein Script-Funktion auf meiner Ansicht:

<script> 
var Caracteristicas = []; 

function LoadCaracteristicas(element) { 
    if(Caracteristicas.length === 0) 
    { 
     $.ajax({ 
      url:'@Url.Action("GetCaracteristicas","Inspeccion")', 
      type: 'GET', 
      cache: false, 
      dataType: 'json', 
      success: function(data){ 
       Caracteristicas = data; 
       alert(data); 
       renderCaracteristica(element) 
      }, 
      error: function (e) { 
       console.log(e) 
      } 
     }); 
    } 
    else 
    { 
     renderCaracteristica(element); 
    } 
} 

function renderCaracteristica(element) { 
    var $ele = $(element); 
    $ele.empty(); 
    $ele.append($('<option/>').val('0').text('Select')); 
    $.each(Caracteristicas, function (i, val) { 
     $ele.append($('<option/>').val(val.Id_Caracteristica).text(val.Descripcion)); 
    }) 
} 

Meine Auswahl, wo ich die Daten angezeigt werden sollen:

<table class="table table-responsive"> 
    <tr> 
     <td>Caracteristica</td> 
     <td>Resultado</td> 
     <td>&nbsp;</td> 
    </tr> 
    <tr class="mycontainer" id="mainrowCateristica"> 
     <td> 
      <select id="IDCateristicas" class="form-control"> ----- Show Data 
       <option>Select</option> 
      </select> 
      <span class="error">Seleccione una Caracteristica</span> 
     </td> 
     <td> 

       <input type="radio" id="RadioOK" name="resultado" value="1"> OK<br> 
       <input type="radio" id="RadioNOK" name="resultado" value="0"> NOK<br> 
     </td> 
     <td> 
      <input type="button" id="BtnAdd" value="Agregar" style="width:80px" class="btn btn-success" /> 
     </td> 
    </tr> 
</table> 

Mein Controller-Funktion:

public JsonResult GetCaracteristicas() 
    { 
     CalidadEntities db = new CalidadEntities(); 
     var data = from c in db.Caracteristicas select c; 
     return Json(data.ToList(), JsonRequestBehavior.AllowGet); 
    } 

Th Der Controller nimmt an, dass er Daten in der Funktion JsonResult weitergibt, aber in der Auswahl zeigt er mir nichts anthibg.

Meiner Ansicht nach am Anfang:

<script type="text/javascript"> 
      window.onload = function() { 
       LoadCaracteristicas($("#IDCateristicas")); 
      }; 

+0

Und was zeigt Ihnen der 'alert (data)'? – adeneo

+0

Gibt die Funktion GetCaracteristicas() einen Wert zurück? von C# –

+0

Ich konnte nicht finden, wo Sie 'LoadCaracteristicas()' aufrufen. Hast du diesen Anruf? –

Antwort

0

Schließlich ich es bekommen. Ich ändere meine Funktion meines Controllers:

public JsonResult GetCaracteristicas() 
    { 
     int tipoc = 10; -- Temporaly 
     CalidadEntities db = new CalidadEntities(); 
     var data = (from c in db.Caracteristicas where c.Id_TComponente == tipoc 
        select new { 
         Id_Caracteristica =c.Id_Caracteristica, 
         Descripcion = c.Descripcion 
        }).ToList(); 
     return Json(data, JsonRequestBehavior.AllowGet); 
    } 

Ich weiß nicht warum, aber es ist die einzige Art, wie es für mich funktioniert. Danke für alles.