如何使用JavaScript中的值填充下拉列表?

我在Tridion CMS扩展中的function区工具栏按钮上添加了一个按钮。 单击该按钮,弹出页面将显示两个下拉菜单。 通过更改第一个下拉控件中的值,我应该填充第二个下拉控件的值。 在我的情况下,我使用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($(" ").val("Select Sub-Category").html("")); dropdownId.append($(" ").val("Air-Conditioners/Coolers").html("Air-Conditioners/Coolers")); break; case "Education": dropdownId.append($(" ").val("Select Sub-Category").html("")); dropdownId.append($(" ").val("Colleges").html("Colleges")); break; default: dropdownId.append($(" ").val("Select Sub-Category").html("")); dropdownId.append($(" ").val("No Value").html("No Value")); } return true; } 

ASPX控件:

     

如何从外部JavaScript文件填充第二个下拉列表的值?

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

  1. 事先将所有项添加到DOM。
  2. 使用jQuery逻辑隐藏所需的项目。

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

请看一下jQuery禁用基于Radio选择的SELECT选项(需要支持所有浏览器)

我最近在GUI扩展上工作,我们根据另一个下拉列表的值填充下拉列表。 当我使用javascript填充时,我有以下代码:

 $j(c.SystemDropDown).append(""); 

正如您所看到的,我的示例附加了整个标记,您使用.val()指定了.val() ,也许您可​​以尝试这种方式?

我的版本工作得很好:)