选择了 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)
                           )
                })

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...