选择了 json 值的选择列表项

问题描述

我正在尝试创建一个充满元素的元素,这些元素通过 json 结果发送到视图,但是我在指示来自 json 的选定值时遇到问题。

方法

        [HttpGet]
    public JsonResult GetProductJson()
    {
        var list = new List<SelectListItem>
        {
            new SelectListItem { Value = "1",Text = "Aron" },new SelectListItem { Value = "2",Text = "Bob" },new SelectListItem { Value = "3",Text = "Charlie",Selected = true},new SelectListItem { Value = "4",Text = "David" }
        };

        return Json(list,JsonRequestBehavior.AllowGet);
    }

查看:

        <select id="MyList"></select>

    <script>
        fetch("@Url.Content("~/Home/GetProductJson")")
            .then(function(result) {
                if (result.ok) {
                    return result.json();
                }
            })
            .then(function(data) {
                console.log(data);
                $('#MyList').empty();
                $.each(data,function(i,value){
                    $('#MyList').append($('<option/>')
                        .val(value.Value)
                        .text(value.Text)
                        //.selected(value.Selected) == true ? 'Selected': ''
                           )
                })
                });
    </script>

解决方法

只需将您的代码更改为:

$.each(data,function(i,value){
                    $('#MyList').append($('<option/>')
                        .val(value.value)
                        .text(value.text)
                        .attr("selected",value.selected)
                           )
                })