如何根据另一个下拉值选择下拉项

时间:2013-11-06 21:05:14

标签: javascript jquery asp.net-mvc

我的asp.net mvc web应用程序中有以下脚本: -

$("#Server_RackID").change(function () {
            var idDC = $(this).val();
            $.getJSON("/Server/LoadDataCenterByRackID", { rackid: idDC },
            function (DCData) {
                var select = $("#Server_TMSRack_DataCenterID");
                select.empty();
                $("#Server_TMSRack_DataCenterID").val() = DCData.Value;

            });
        });

这个想法是当用户更改Server_RackID下拉列表时,我需要根据返回ID选择Server_TMSRack_DataCenterID。将被调用的动作方法如下所示: -

 [CheckUserPermissions(Action = "Edit", Model = "Server")]
     public JsonResult LoadDataCenterByRackID(string rackid)
     {
         var datacenter = repository.FindRack(Convert.ToInt32(rackid));



         return Json(new { Value = datacenter.DataCenterID }, JsonRequestBehavior.AllowGet);
     }

但是当我运行我的代码时,我收到以下错误: -

  

0x800a138b - JavaScript运行时错误:无法分配给函数   结果

2 个答案:

答案 0 :(得分:1)

您正在尝试为val()函数分配值,而不是“#Server_TMSRack_DataCenterID”。所以而不是:

$("#Server_TMSRack_DataCenterID").val() = DCData.Value;

尝试

$("#Server_TMSRack_DataCenterID").val(DCData.Value);

答案 1 :(得分:0)

你错误地使用val()是你搞砸了它的原因。查看here以获取val()的文档,该文档必须为$(identifier).val(value)。试试这个

$("#Server_RackID").change(function () {
            var idDC = $(this).val();
            $.getJSON("/Server/LoadDataCenterByRackID", { rackid: idDC },
            function (DCData) {
                $("#Server_TMSRack_DataCenterID").val(DCData.Value);
            });
        });