无法根据返回的 Json 值向输入字段添加文本

Unable to add a text to an input field based on the returned Json value

本文关键字:输入 字段 添加 文本 Json 返回      更新时间:2023-09-26

我的视图中有以下脚本:

<script type="text/javascript">
    $(document).ready(function () {
        $("#Server_VirtualCenterID").attr("disabled", "disabled");
        if ($(this).val() == "3") {
            $("#Server_VirtualCenterID").removeAttr("disabled");
        }
        else {
            $("#Server_VirtualCenterID").attr("disabled", "disabled");
        }
        $("#Switch_RackID").change(function () {
            var idRack = $(this).val();
            $.getJSON("/Rack/LoadDataCenterByRack", { id: idRack },
            function (RackData) {
                var select = $("#Switch_TMSRack_DataCenter_Name");
                select.empty();
                select.append(Text);
                });
            });
        });
       </script>

当下拉列表更改时,这将调用以下操作方法:-

public JsonResult LoadDataCenterByRack(int id)
    {
      string datacentername = repository.FindRack(id).DataCenter.Name;
      var DCData = new { Text = datacentername, Value = datacentername };
        return Json(DCData, JsonRequestBehavior.AllowGet);
    }

但是返回的 json 不会作为Switch_TMSRack_DataCenter_Name输入字段的文本添加吗? 谁能建议?

你应该使用select.append(RackData.Text)而不是select.append(Text)

提供RackData是一个 JSON。响应数据RackData。您需要从RackData获取Text属性。

我建议简单地使用

$("#Switch_TMSRack_DataCenter_Name").val(RackData.Text);