您好,我正在使用 asp.net 和 javascript,我想在 dropdownlist1 更改时用列表填充 dropdownlist2。
public Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>();
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Type");
foreach (DataDefinitionResponse dr in _dr)
{
if (dr.Type != "Group" && dr.Type != "File")
{
DataRow row = dt.NewRow();
row["Name"] = dr.Name;
row["Type"] = dr.Type;
dt.Rows.Add(row);
if (dr.Type == "Dropdown")
{
string[] strSplit = dr.ListValue.Split('|');
List<string> lst = new List<string>();
foreach (string word in strSplit)
{
lst.Add(word);
}
dict.Add(dr.Name, lst);
}
}
}
ddlFieldName.DataSource = dt;
ddlFieldName.DataTextField = "Name";
ddlFieldName.DataValueField = "Type";
ddlFieldName.DataBind();
ddlFieldName.ClearSelection();
上面是我的代码,用于填充第一个下拉列表 w/c 是 ddlFieldName。如您所见,我使用字典并声明为全局。现在我需要使用 javascript 填充第二个下拉列表。
谁能帮我解决这个问题。
谢谢。
最佳答案
当 Dropdownlist1 被更改时,获取使用以下脚本选择的元素
<script type="text/javascript">
$jq14(document).ready(function () {
$jq14("#Dropdownlist1").change(function (e) {
window.location = "@Url.Content("~/Controller/ActionMethod/?id=")" + $jq14(this).val();
});
});
</script>
然后在您的 Controller 操作方法中接收该值并将其放入 ViewBag 对象中 ViewBag = id; 然后最后在您的 View 中将您的 Dropdownlist2 中的 ViewBag 值作为循环或列表填充的播种机
关于c# - asp.net 在更改下拉列表时使用 javascript 填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17483562/