the code you are posted works well . The problem could occur when you use Value proerty in ListItem , such as :
<asp:listitem value="0" text="Select" xmlns:asp="#unknown"></asp:listitem>
then you can have Text by :
var txt=document.getElementById('<%=dropstatus.ClientID %>')
To fix the error you described in comments follow:
2. You can use <%# instead of <%=
This changes the code block from a Response.Write code block to a databinding expression. Since <%# … % > databinding expressions aren’t code blocks, the CLR won’t complain.