Javascript сравнивает значения списка ViewData с выбранным элементом DropDownlist

Я искал ответ на этот вопрос, но ничего, что полностью удовлетворяло бы тому, что я ищу. У меня есть выпадающий список элементов. Когда пользователь выбирает элемент, я хочу сравнить выбранное значение с элементами в двух разных списках (оба заполнены из базы данных и сохранены в ViewData). Таким образом, я могу заполнить некоторые другие данные формы на основе того, какие элементы списка были сопоставлены. Я хочу сделать это на стороне клиента (т.е. используя JQuery/Javascript). Этот пост выглядит хорошим началом, но мне нужно сравнить свое 1 значение с элементами в 2 разных списках: Нужен простой пример заполнения массива javascript из списка Viewdata


person jbizzle    schedule 20.12.2011    source источник


Ответы (1)


В итоге получил ответ на свой вопрос. В разделе формы моего файла .cshtml у меня есть:

@Html.DropDownList("DropDownCompany", (ViewData["DropDownCompanies"] as SelectList), "Select a Company")

В части javascript моего файла .cshtml у меня есть:

 $('#DropDownCompany').change(function () {

var dropdownvalue = $('#DropDownCompany').val();
// This is a list of objects
var str2 = @Html.Raw(Json.Encode(ViewData["CompaniesData"]));

Затем я могу позже (все еще в части javascript) сравнить их через:

// CompanyKey is a field of the CompaniesData class
for(var i in str2) {
if (str2[i].CompanyKey == dropdownvalue) {
// Do Stuff
}                      
person jbizzle    schedule 21.12.2011