禁用按钮直到选择值---选择---不出现

时间:2013-02-10 13:22:33

标签: asp.net drop-down-menu disabled-control javascript

到目前为止一切正常,按钮被禁用,直到从下拉列表中选择值, 但是我想---选择---作为下拉列表中的第一个选项,但这不会发生......任何关于为什么的想法?

<asp:DropDownList ID="DropDownListSubContractors" runat="server" 
    AppendDataBoundItems="true" DataTextField="Company_Name" DataValueField="id" 
    onchange='selectChanged(this);'>
    <asp:ListItem Text="---Select---" Value="0" />
    <asp:ListItem Text="Option 1" Value="1" />
</asp:DropDownList>

<script type="text/javascript">

   function selectChanged(e) {
    document.getElementById("<%= addNewSubContractor.ClientID %>").disabled 
      = (e.options[e.selectedIndex].value == "0") ? "disabled" : "";
                          }
</script>

<asp:Button ID="addNewSubContractor" Text="Add Sub Contractor" 
    OnClick="UploadSubContractor" runat="server" disabled='disabled' />

2 个答案:

答案 0 :(得分:1)

首先显示手动添加的项目后跟数据绑定项目是下拉列表的默认行为,因此理论上---Select--- 应该是第一项。

我怀疑其他地方有一些逻辑(可以是javascript或代码隐藏),它将所选项目设置为其他内容,即:

DropDownListSubContractors.SelectedIndex = 1;

仔细查看代码并确保所选项目不会在任何地方重新设置

答案 1 :(得分:0)

您是否将数据绑定项附加设置为true,这会检查集合中是否有任何项目,并在绑定之前先添加它们?