4

我在 Tridion CMS 的扩展中向功能区工具栏按钮添加了一个按钮。单击按钮后,将显示一个带有两个下拉菜单的弹出页面。通过更改第一个下拉控件中的值,我应该填充第二个下拉控件的值。就我而言,我正在使用ASP drop down list控制。目前,我将硬编码要填充到 Java 脚本中的第二个下拉列表的值。对于此要求,我正在使用以下代码,但我无法填充该值(未识别标签)。

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 文件中填充第二个下拉列表的值?

4

2 回答 2

1

您可以使用以下方法,而不是按需添加值:

  1. 预先将所有项目添加到 DOM。

  2. 使用 jQuery 逻辑隐​​藏所需的项目。

    您可以参考以下帖子以获取提示使用 jQuery 在选择列表中隐藏选项

请查看基于 Radio selected 的 jQuery disable 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 回答