ユーザーが別のドロップダウンリスト(ddlCompany)を変更したときに、ドロップダウンリスト(ddlSite)を変更したい。
そのため、新しい項目を ddlsite ドロップダウン リストに追加する方法がわかりません。
Ajax 関数
function getSite(companyID) {
alert(companyID);
$.ajax({
type: 'POST',
dataType: 'html',
url: '@Url.Action("SiteList", "Site")',
data: ({ ComID: companyID }),
success: function (result) {
alert(result);
$('#SiteList').html(result);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
私の見解
@Html.DropDownList("ddlCompany", ViewData["AllCompany"] as SelectList, "--Select Item--", new { @onchange = "getSite(this.value);" })
<div id="SiteList">
@Html.Partial("_siteList", SiteList)
</div>
これは私のコントローラーです
public ActionResult SiteList(int ComID)
{
var siteQuery = from s in db.tblSites
orderby s.SiteName
where s.FKComId == ComID
select s;
IEnumerable<SelectListItem> AllSite = new SelectList(siteQuery, "PKSiteID", "SiteName");
ViewBag.AllSite = siteQuery;
return PartialView("_siteList", siteQuery);
}
私の部分的な見方
@model SKG_website.Models.tblSite
@{
ViewBag.Title = "_siteList";
var allSites = ViewBag.AllSite as IEnumerable<SKG_website.Models.tblSite>;
}
<div id="siteList" class="editor-field">
@Html.DropDownListFor(model => model.PKSiteID, new SelectList(allSites, "PKSiteID", "SiteName"))
</div>
AJAX 関数で sslsit ドロップダウン リストを割り当てる方法がわかりません。どうすればいいのですか?