我的dropdownlist是用for循环写进去的 有多少行不确定 然后每行的倒数二三位要显示星号 但是我又要用dropdownlist.SelectedValue的值 如果我用星号直接替换掉了 那我取出来的值就不能用了 我保存2个数据的话那我选了第几个也不好对应起来 有没有什么好方法 只显示部分星号又要保持数据完整
1条回答 默认 最新
- Go 旅城通票 2018-04-16 11:53关注
DropDownList有DataTextField和DataValueField这2个配置,你配置不同的列不就行了,DataValueField对应值,DataTextField对应显示的内容
如果不能改数据源,自己用js更新下客户端对应的option就行了
<%@ Page Language="C#" %> <meta charset="utf-8" /> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add("txt"); dt.Columns.Add("value"); System.Data.DataRow dr = dt.NewRow(); dr["txt"] = "txt**"; dr["value"] = "txt12"; dt.Rows.Add(dr); ddl.DataTextField = "txt"; ddl.DataValueField = "value"; ddl.DataSource = dt; ddl.DataBind(); } </script> <html> <head></head> <body> <form runat="server"> <asp:DropDownList runat="server" ID="ddl"></asp:DropDownList> </form> <select id="Ddl"> <option value="text1">text1</option> <option value="text2">text2</option> <option value="text3">text3</option> <option value="text4">text4</option> </select> <script> var s = document.getElementById('Ddl'); for (var i = 0; i < s.options.length; i++) s.options[i].text = s.options[i].text.substring(0, s.options[i].text.length - 1) + '**' </script> </body> </html>
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报