4

TridionCMSの拡張機能のリボンツールバーボタンにボタンを追加しました。ボタンをクリックすると、ポップアップページが2つのドロップダウンとともに表示されます。最初のドロップダウンコントロールの値を変更することにより、2番目のドロップダウンコントロールの値を入力する必要があります。私の場合、ASP drop down listコントロールを使用しています。とりあえず、Javaスクリプトの2番目のドロップダウンに入力する値をハードコーディングします。この要件では、次のコードを使用していますが、値を入力できません(タグを識別していません)。

Javaスクリプトコード:

ABC.WCMS.RTFExtension.Popups.ButtonPopup.prototype._populate = function () {    
    var selectedValue = $('#functionalcomponent').value;//First dropdown selected value
    var dropdownId = $("#Dd");//Second Dropdown Control

        switch (selectedValue) {

            case "Home Ware":
                dropdownId.append($("<option> </option>").val("Select Sub-Category").html(""));
                dropdownId.append($("<option> </option>").val("Air-Conditioners/Coolers").html("Air-Conditioners/Coolers"));              
                break;
            case "Education":
                dropdownId.append($("<option> </option>").val("Select Sub-Category").html(""));
                dropdownId.append($("<option> </option>").val("Colleges").html("Colleges"));
                break;
            default:
                dropdownId.append($("<option> </option>").val("Select Sub-Category").html(""));
                dropdownId.append($("<option> </option>").val("No Value").html("No Value"));

        }
    return true;
}

ASPXコントロール:

<%--Dropdown1--%>
<asp:DropDownList ID="functionalcomponent" runat="server"></asp:DropDownList>
<%--Dropdown2--%>
<asp:DropDownList ID="Dd" runat="server"></asp:DropDownList>

外部JavaScriptファイルから2番目のドロップダウンの値を入力するにはどうすればよいですか?

4

2 に答える 2

1

必要に応じて値を追加するのではなく、次のアプローチを使用できます。

  1. すべての項目を事前に DOM に追加します。

  2. jQuery ロジックを使用して必要な項目を非表示にします。

    jQuery を使用して選択リストのオプションを非表示にするヒントについては、次の投稿を参照してください。

選択したラジオに基づいて jQuery の SELECT オプションを無効にする (すべてのブラウザーのサポートが必要)もご覧ください。

于 2012-06-08T05:58:51.977 に答える
1

私は最近、別のドロップダウンの値に基づいてドロップダウンを作成する GUI 拡張に取り組みました。JavaScript を使用して入力すると、次のコードが表示されます。

$j(c.SystemDropDown).append("<option value=\"" + value + "\">" + value + "</option>");

ご覧のとおり、私の例では<option>タグ全体が追加されていますが、あなたのものは を使用して指定されているため.val()、おそらくこの方法を試すことができますか?

私が持っているバージョンはうまく機能しています:)

于 2012-06-11T08:44:56.260 に答える