0

これまでのところすべて正常に機能しており、ドロップダウンリストから値が選択されるまでボタンは無効になっていますが、ドロップダウンリストの最初のオプションを ---select--- にしたいのですが、これは起こっていません...アイデアなぜですか?

<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' />
4

2 に答える 2

1

手動で追加されたアイテムを最初に表示し、次にデータバインドされたアイテムを表示することがドロップダウンリストのデフォルトの動作であるため、理論的には最初のアイテムである---Select--- 必要があります。

選択したアイテムを他の何かに設定するロジック(javascriptまたはコードビハインドの可能性があります)が他にあると思います。

DropDownListSubContractors.SelectedIndex = 1;

コードをよく見て、選択したアイテムがどこにもリセットされていないことを確認してください

于 2013-02-10T14:12:37.530 に答える
0

データバインドされたアイテムの追加をtrueに設定しましたか?これは、コレクションにアイテムがあるかどうかを確認し、バインドする前に最初にそれらを追加しますか?

于 2013-02-10T15:57:45.820 に答える