不会在选择中显示数据

时间:2016-10-11 17:36:30

标签: javascript ajax asp.net-mvc json.net asp.net-ajax

它没有在我的输入中显示任何内容。

这是我的视图中的脚本功能:

<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));
    })
}

我选择我想要显示数据的位置:

<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>

我的控制器功能:

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

控制器假设它在函数JsonResult中传递数据,但在select中它并没有向我展示anythibg。

在我开始时的观点中:

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

1 个答案:

答案 0 :(得分:0)

最后我明白了。我改变了我的控制器功能:

 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);
    }

我不知道为什么,但这是它对我有用的唯一方式。谢谢大家。