有选择地在下拉列表中显示项目

时间:2011-10-10 19:44:19

标签: jquery asp.net

我有2个下拉列表--ddlCompanies和ddlContacts。

让我们说 -

Companies | Company A | Company B | Company C |
----------|-----------|-----------|-----------|
Contacts  | Albo      | Bill      | Charlie   |
          | Alex      | Bob       | Chad      |
          | Aaron     | Brad      | Dennis    |

在ddlCompanys中列出 - 公司A,公司B和公司C. 在ddlContacts中,我加载所有联系人,Alex,bob,chad,...

现在在用户控件中,我想只显示那些名称(在属于所选公司的ddlContacts0中(ddlCompany)

编辑:
用于加载下拉列表的代码

ddlCompanies.DataSource = companies; //companies is instance of  IEnumerable<ListItem>
//Also the text of the list item is the name of the company, and value is the ID
ddlCompanies.DataTextField = "Text";
ddlCompanies.DataValueField = "Value";
ddlCompanies.DataBind();

ddlcontacts代码

ddlContacts.DataSource = allContacts // all contacts is instance of IEnumerable<ListItem> and contains all the contacts for all companies.  
//The text Value Contains the name of the employee, and value is the ID
//If needed, I can look up the company for the contact in the code behind.
ddlContacts.DataTextField = "Text";
ddlContacts.DataValueField = "Value";
ddlContacts.DataBind();

有人可以帮助我 -

谢谢,

1 个答案:

答案 0 :(得分:0)

我会使用ASP.NET编写一些JavaScript(带<%= %>标签)。

var contacts;
contacts['A'] = 'Albo,Alex,Aaron';
contacts['B'] = 'Bill,Bob,Brad';
contacts['C'] = 'Charlie,Chad,Dennis';

此信息从数据库中提取,并由ASP.NET在<script>标记内写入页面。

现在,只要ddlCompanies更改,就可以使用jQuery来调用它,调用一个函数,该函数使用所选的ddlCompanies值来决定使用contacts数组的哪个元素。然后它会拆分此字符串并将所有项目放入ddlContacts

我不会尝试在这里写出确切的代码,因为我可能会犯错误。评论,如果你不能让它为你工作。 :)