0
recevinig JSON數據後,我在控制器(MVC)的列表產生的JavaScript選擇列表的選項從控制器
public CompanyController() {
_company = new List<CompanyModel>{
new CompanyModel{Name="A 1", Email="[email protected]", Group="Group1"},
new CompanyModel{Name="A 2", Email="[email protected]", Group="Group2"},
new CompanyModel{Name="A 3", Email="[email protected]", Group="Group3"},
new CompanyModel{Name="B 1", Email="[email protected]", Group="Group1"},
new CompanyModel{Name="C 1", Email="[email protected]", Group="Group2"},
new CompanyModel{Name="D 1", Email="[email protected]", Group="Group4"},
new CompanyModel{Name="E 1", Email="[email protected]", Group="Group5"},
new CompanyModel{Name="E 2", Email="[email protected]", Group="Group6"},
new CompanyModel{Name="F 1", Email="[email protected]", Group="Group6"},
new CompanyModel{Name="G 1", Email="[email protected]", Group="Group5"},
new CompanyModel{Name="H 1", Email="[email protected]", Group="Group6"},
new CompanyModel{Name="I 1", Email="[email protected]", Group="Group3"},
new CompanyModel{Name="J 1", Email="[email protected]", Group="Group7"},
new CompanyModel{Name="K 1", Email="[email protected]", Group="Group6"},
new CompanyModel{Name="L 1", Email="[email protected]", Group="Group1"},
new CompanyModel{Name="M 1", Email="[email protected]", Group="Group2"},
new CompanyModel{Name="N 1", Email="[email protected]", Group="Group2"},
new CompanyModel{Name="O 1", Email="[email protected]", Group="Group4"},
new CompanyModel{Name="P 1", Email="[email protected]", Group="Group5"},
new CompanyModel{Name="R 1", Email="[email protected]", Group="Group5"},
new CompanyModel{Name="S 1", Email="[email protected]", Group="Group8"},
new CompanyModel{Name="T 1", Email="[email protected]", Group="Group8"},
new CompanyModel{Name="U 1", Email="[email protected]", Group="Group1"},
new CompanyModel{Name="V 1", Email="[email protected]", Group="Group2"},
new CompanyModel{Name="X 1", Email="[email protected]", Group="Group4"},
new CompanyModel{Name="Y 1", Email="[email protected]", Group="Group3"},
new CompanyModel{Name="Z 1", Email="[email protected]", Group="Group3"},
new CompanyModel{Name="W 1", Email="[email protected]", Group="Group6"},
};
}
我通過JSON發送到JQuery的是:
objectCompany = null;
data = "";
$.ajax({
url: '/Company/List',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (msg) {
data = msg;
},
complete: function() {
objectCompany = data;
}
});
我想附加到我的select
標記<select name="filters" id="filters"></select>
所有具有Group
值但不重複相似值的選項。
UPDATE
if (objectCompany != null) {
$("#filters").empty();
$("#filters").html("<option value='all' selected='selected'>All groups</option>");
var arrayUnique = [];
for (var i = 0; i < objectCompany .length; i++) {
for (var j = i + 1; j < objectCompany .length; j++) {
if (objectCompany [i].Group === objectCompany [j].Group) {
j = ++i;
}
}
arrayUnique.push(objectCompany [i].Group);
}
arrayUnique = arrayUnique.sort();
$.each(arrayUnique, function (k, v) {
$("#filters").append("<option value='" + v + "'>" + v + "</option>");
});
}
更新:現在工程:)
因爲'objectCompany'將在JS的其他函數中重用,這就是爲什麼我發送了所有數據。我只想在JS中操作數據,我想避免將數據發送到服務器並取回響應。這個對象將是巨大的,我在這裏寫了一部分。 –
@MichaelSwan,然後寫另一個控制器動作。專門爲此AJAX調用而設計。我還更新了我的答案,以說明在客戶端選擇不同元素的示例,但我不推薦這種方法。 –
看到我更新的代碼(用JS編寫的最後一個代碼)..現在它的工作原理:)沒有調用和/或創建另一個控制器 –