0

「ファンド」ドロップダウン リストが「クローズ日」ドロップダウン リスト (カスケード) の選択によって入力される 2 つのドロップダウン リストを実装しています。問題は、Ajax の更新後、[ファンド] ドロップダウン リストに最初の選択肢ではなく空白の値が表示されることです。返された選択項目の最初の項目が「選択済み」としてマークされていることを確認しました。また、更新後にドロップダウンの選択されたインデックスをデフォルトにするために、いくつかのことを試しました。では、ドロップダウンが更新された後、ドロップダウンを特定の選択にデフォルト設定するにはどうすればよいですか。以下は、ドロップダウン リストの定義のコード フラグメントと、[Close Date] が選択されたときに実行される JavaScript 関数です。

Telerik 2011.1.315 および JQuery 1.5.1 を使用

<script type="text/javascript">
    fundListUrl = '<%= Url.Action("GetFundList","Admin") %>'
    function GetFundList(e)
    {
        var fundDropDown = $('#FundId');
        var fundDropDownData = fundDropDown.data('tDropDownList');
        fundDropDownData.loader.showBusy();
        $.get(fundListUrl, { dateId: e.value }, function (data) {
            fundDropDownData.dataBind(data);
            fundDropDownData.loader.hideBusy();
            fundDropDown.attr('selectedIndex', 0); // Not Working
        });
    }
</script>

...

<table>
    <tr>
    <td class="editlabel">Close Date:</td>
    <td>
        <%= Html.Telerik().DropDownListFor(o => o.ReportingPeriodDateId)
            .BindTo((SelectList)ViewData["closeDateList"])
            .ClientEvents(events => events.OnChange("GetFundList"))
        %>
    </td>
    </tr>
    <tr>
    <td class="editlabel">Fund:</td>
    <td>
        <%= Html.Telerik().DropDownListFor(o=>o.FundId)
            .BindTo((SelectList)ViewData["fundList"])
            .HtmlAttributes(new { style = "width: 40em;" })
        %>
    </td>
    </tr>
</table>
4

1 に答える 1

1

次のように、インデックスまたは値(コンボボックスアイテムの値を事前に定義している場合)のいずれかでコンボアイテムを選択できるはずです。

<script type="text/javascript">
    fundListUrl = '<%= Url.Action("GetFundList","Admin") %>'
    function GetFundList(e)
    {
        var fundDropDown = $('#FundId');
        var fundDropDownData = fundDropDown.data('tDropDownList');
        fundDropDownData.loader.showBusy();
        $.get(fundListUrl, { dateId: e.value }, function (data) {
            fundDropDownData.dataBind(data);
            fundDropDownData.loader.hideBusy();
            fundDropDown.select(0); // select first combo item, or use fundDropDown.value('0') in case the first combo item has value set to 0
        });
    }
</script>
于 2011-05-19T15:43:00.720 に答える