dropdownlist --- value值相等的时候解决办法

 dropdownlist选择值的时候,靠,明明选择的是第三项, 点击后回发下,就变成了第二项了

 贴代码吧

这是前台代码,直接用的数据源绑定

  <asp:DropDownList ID="DDLpro" runat="server" DataSourceID="SqlDataSource2" DataTextField="PSNAME"
                            DataValueField="PID" Width="140px" οnchange="SetPId(this);">
                        </asp:DropDownList>

  <input id="hSelectIndex" type="hidden" runat="server" />

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
                            ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand='SELECT "PSNAME", "PID" FROM "BSC_PRODUCTSPEC" WHERE ("ACTIVEFLAG" = :ACTIVEFLAG)'>
                            <SelectParameters>
                                <asp:Parameter DefaultValue="2" Name="ACTIVEFLAG" Type="Decimal" />
                            </SelectParameters>
                        </asp:SqlDataSource>

 

利用JavaScript可以解决,

先要加上一个  <input id="hSelectIndex" type="hidden" runat="server" />隐藏控件

如下是js代码:

 

onchage="SetPid(this)"

 function SetPId(item){
        document.getElementById("<%=hSelectIndex.ClientID %>").value=item.selectedIndex;
        document.getElementById('<%=txtpid.ClientID %>').value=item.options[item.selectedIndex].value;
    }

 

然后再后台代码协上

if (!string.IsNullOrEmpty(this.hSelectIndex.Value))
        {
            this.DDLpro.SelectedIndex = Convert.ToInt32(this.hSelectIndex.Value);
        }

ddlpro是我的dropdownlist控件名:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值