0
我有一個ASP.NET MVC程序,其中包含兩個下拉列表,國家和地點。 兩者都從存儲在ViewBag中的SelectLists填充。過濾器選擇下拉選擇下拉(使用JQuery)
我想要做的是在第一個下拉列表中選擇該國家時按組(國家)過濾位置。 (或者通過告訴程序隱藏不在該組中的選項,或者以某種方式自動填充選定的搜索欄與組?)
我已經嘗試過各種解決方案,但不能完全得到它工作。
這是我基於了另一個潛在的解決方案在網上的嘗試:
$("#Countries").on('change', function (evt, params) {
var selected = params.selected;
//var optGroup = $('optgroup[label="' + selected + '"]')[0].outerHTML;
var optGroup = $('optgroup[label="' + selected + '"]').html();
$("#Locations").html(optGroup);
$("#Locations").trigger("chosen:updated");
});
任何幫助,將不勝感激。
謝謝。
編輯
我已經得到了這個解決方案的工作,但它取代了位置列表,所以我不能過濾第二次。
EDIT2
這些都是來自控制器的兩條線將數據存儲到ViewBag:
ViewBag.Countries = new MultiSelectList(db.tblCountries, "CountryID", "CountryName");
ViewBag.Locations = new MultiSelectList(db.tblLocations, "LocationID", "LocationName", "tblCountry.CountryName");
如果您知道任何替代方法來解決這個問題,請後下。
感謝
這沒有奏效。它只是清空了位置列表,並且在我選擇另一個國家時不重新填充。我可能是因爲列表最初使用ViewBag綁定。 – AmateurDev
我現在得到您的要求。對,因爲一旦你更新了html,你就無法獲取數據來綁定位置。除非你將它保存在某個地方。 – User3250
您可以發佈您用於綁定位置下拉列表的屬性嗎? – User3250