问题描述
<asp:DropDownListID="DropDownList1"runat="server"Style="position:static"onpropertychange="Change(this.value)">当我选择下拉框中某个值时,它执行了两次Change()脚本函数,为什么啊.还有我怎么能得到选择的Item值,用this.value 得到是value值.高人指典.
解决方案
解决方案二:
up
解决方案三:
stringstr=DropDownList1.SelectedValue.ToString();
解决方案四:
vars=document.getElementById("DropDownList1").value;
解决方案五:
我是在前台得到值,不是在后台,高人指典.
解决方案六:
放在if(!IsPostBack){...}里stringstr=DropDownList1.SelectedItem.Value.ToString();
解决方案七:
if(DropDownList1.options[item].selected==true){alert(item);}
解决方案八:
执行2遍是因为这句吧onpropertychange="Change(this.value)"stringstr=DropDownList1.SelectedValue.ToString();
解决方案九:
上面的不是我想要的,是在前台得到.
解决方案十:
onpropertychange-->onchangedocument.getElementById("DropDownList1").value
解决方案十一:
如果你是写的SP。net程序的话。<asp:DropDownListID="DropDownList1"runat="server"Style="position:static"onpropertychange="Change(this.value)">当我选择下拉框中某个值时,它执行了两次Change()脚本函数,为什么啊.还有我怎么能得到选择的Item值,用this.value 得到是value值.高人指典你这个是有错误的。Style和onpropertychange整个根本没有。下面是我写的程序,你试试。<asp:DropDownListrunat="server"ID="dropDownList1"AutoPostBack="True"OnSelectedIndexChanged="dropDownList1_SelectedIndexChanged"><asp:ListItemValue="value1">TEXT1</asp:ListItem><asp:ListItemValue="value2">TEXT2</asp:ListItem></asp:DropDownList>AutoPostBack="True"这个属性一定要设置,否则它就会执行2次,CS代码是:publicpartialclassdropDownList:System.Web.UI.Page{stringstrDropValue="这个显示value";stringstrDropText="这个显示text";protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){getChangedValue();}}protectedvoiddropDownList1_SelectedIndexChanged(objectsender,EventArgse){strDropValue=dropDownList1.SelectedItem.Value;strDropText=dropDownList1.SelectedItem.Text;getChangedValue();}privatevoidgetChangedValue(){RegisterStartupScript("text","<script>alert('文本是:"+strDropText+"');</script>");RegisterStartupScript("value","<script>alert('值是:"+strDropValue+"');</script>");}}
解决方案十二:
ddl.options[ddl.selectIndex].text
解决方案十三:
放在if(!IsPostBack){...}里stringstr=DropDownList1.SelectedItem.Value.ToString();