asp.net使用javascript隐藏下拉列表中的特定项目
本文关键字:项目 下拉列表 net 使用 javascript 隐藏 asp | 更新日期: 2023-09-27 18:21:04
我正在使用ASP.NET,并且正在动态填充我的DropDownList。这是我的代码:
DataTable dtList = new DataTable();
dtList.Columns.Add("Name");
dtList.Columns.Add("Type");
foreach (DataDefinitionResponse dr in _dr)
{
if (dr.Type == "Dropdown")
{
string[] strSplit = dr.ListValue.Split('|');
List<string> lst = new List<string>();
foreach (string word in strSplit)
{
DataRow row = dtList.NewRow();
row["Name"] = word;
row["Type"] = dr.Name;
dtList.Rows.Add(row);
}
}
}
ddlFieldList.DataSource = dtList;
ddlFieldList.DataTextField = "Name";
ddlFieldList.DataValueField = "Type";
ddlFieldList.DataBind();
现在,我只想在选择另一个DropDownList时使用Javascript隐藏特定项目。我没有在此处使用SelectedIndexChanged。我必须使用Javascript。
请有人帮我做这件事。
Thx
我认为你无法用JavaScript操作DropDownList并"逍遥法外",因为当页面随后被发布回服务器时,ASP.NET会检测到DropDown列表被"篡改",并引发异常。
您可以设置一些标志来停止错误,但您不太可能在代码隐藏中使用DropDownList。
通常情况下,你会用SelectedIndexChanged
实现你想要做的事情(我知道你说过你不想这样做),并将控件放在UpdatePanel
或类似的文件中,以避免整个页面的回发/刷新。
function Remove()
{
var DropDownList=document.getElementById('<%=DropDownList1.ClientID%>');
alert(DropDownList.value);
for(i=DropDownList.length-1; i>=0; i--)
{
if(DropDownList.options[i].selected)
{
DropDownList.remove(i);
}
}
}