ASP.NET MVC-在HTML附加了Jquery之后,DropDownList值变为未定义

时间:2019-04-26 17:53:16

标签: javascript jquery asp.net-mvc

我有两个下拉列表,当我使用以下代码更改第一个的值时,使用以下代码刷新了第二个的值:

 function FillBooks(val) {
            $("#ddl_dep").attr("class", "form-group");
            $("#Help1").css("visibility", "hidden");
            var CategoryId = val;
            //console.log(CategoryId);
            console.log(CategoryId)
            $("#DDL_TIPO").empty();
            $.ajax({
                url: '@Url.Action("UpdateTipo", "Tickets")',
                type: "POST",
                dataType: "JSON",
                data: { value: CategoryId },
                success: function (data) {
                    var markup = "<option value='0'>Selecione um Tipo</option>";
                    for (var x = 0; x < data.length; x++) {
                        markup += "<option value=" + data[x].value + ">" + data[x].Text + "</option>";
                    }
                    $("#DDL_TIPO").html(markup).show();

                }
            });

        }

P.S-数据来自控制器,与我所显示的示例无关。

在此之后,当我尝试获取第二个下拉列表的值时,它的值未定义。

我在此jquery代码之前进行了测试,它为我提供了dropdownlist的值,但是当我使此函数起作用时,它却没有给出。

1 个答案:

答案 0 :(得分:0)

尝试一下:

<script>  
        function FillBooks(val)  
    {  

                $("#ddl_dep").attr("class", "form-group");
                $("#Help1").css("visibility", "hidden");
                var CategoryId = val;
                //console.log(CategoryId);
                console.log(CategoryId) 
            $.ajax  
            ({  
                url: '@Url.Action("UpdateTipo", "Tickets")',
                type: 'POST',  
                datatype: 'application/json',  
                contentType: 'application/json',  
                data: { value: CategoryId },  
                success: function(result)  
              {  
                    $("#DDL_TIPO").html("");  
                    $.each($.parseJSON(result), function(i, tipo)  
                    {  
                        $("#DDL_TIPO").append($('<option</option>').val(tipo.Value).html(tipo.Text))  
                    })  

                },  
                error: function()  
                {  
                    alert("Whooaaa! Something went wrong..")  
                },  
            });  
        }  
    </script>