3
我有被此创建一个下拉列表:查找OPTGROUP的价值DDL
C#:
public static List<SelectListItem> lstDailySumAssignments()
{
List<SelectListItem> lstAssignments = new List<SelectListItem>();
using(var context = new AviationLogsEntities())
{
List<codeAC> lstActivity = context.codeAC.Where(x => x.deleted == false).ToList();
List<string> lstCategories = new List<string>() { "STH", "NT", "STHLVGMA", "CS",
"S&R", "R", "S", "P", "D", "T", "P", "REFUSAL", "SERVICE & TESTING", "SE", "E",
"AG", "P", "P", "DA", "HTH",
};
List<string> lstTraining = new List<string>() { "SEH", "MEH", "SEA", "IT", "HT", "ELT",
"TO", "CSEH", "CMEH", "CSEA" };
var groups = lstActivity.OrderBy(x => x.codeAC.Text).ThenBy(x => lstTraining.IndexOf(x.text)).ThenBy(x => x.text).GroupBy(x => x.codeAC.Text).OrderBy(g => lstCategories.IndexOf(g.Key));
foreach(var group in groups)
{
var slg = new SelectListGroup() { Name = group.Key };
foreach(codeAC activity in group)
{
SelectListItem item = new SelectListItem() { Text = activity.text, Value = activity.ID.ToString(), Group = slg };
lstAssignments.Add(item);
}
}
}
return lstAssignments;
}
现在我javascipt的:
$(document).ready(function() {
$('#activityID').change(function() {
var selectedActivity = this.options[this.selectedIndex].parentNode.label;
if (selectedActivity === "STH") {
$('#EnsureTransport').show();
}
else if (selectedActivity !== "STH") {
$('#EnsureTransport').hide();
}
});
});
现在这个完美的作品,但它是相当静态的,不是动态的用户变化。所以,而不是比较字面上的字符串..有没有一种方法来比较组的顺序?因此,由于STH
是第一组,或者是以HTML格式呈现的<optgroup>
,所以我可以与之比较吗?
由于什么,我试图解释我已经试过这样一个例子:
$(document).ready(function() {
$('#activityID').change(function() {
var selectedActivity = this.options[this.selectedIndex].parentNode.value;
if (selectedActivity === 1) {
$('#EnsureTransport').show();
}
else if (selectedActivity !== 1) {
$('#EnsureTransport').hide();
}
});
});
但这不起作用。
任何帮助表示赞赏。
啊,工作!非常感谢! –
关于此的任何文档?我正在评论[this](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement),但找不到'.index()'或'.parent()' –
当然,由于您的示例显示您使用的是jQuery,因此我决定使用它的帮助函数来获取更清晰的语法。你可以在这里找到文档:[index](https://api.jquery.com/index/)&[parent](https://api.jquery.com/parent/)。 – HiDeo