如何用JavaScript中的值填充下拉列表?
我在Tridion CMS的扩展中向功能区工具栏按钮添加了一个按钮。点击按钮,弹出页面将显示两个下拉列表。通过更改第一个下拉控件中的值,我应该填充第二个下拉控件的值。在我的例子中,我使用的是ASP下拉列表控件。目前,我将把要填充的值硬编码到java脚本中的第二个下拉列表中。对于此要求,我使用以下代码,但我无法填充未标识标记的值 Java脚本代码:如何用JavaScript中的值填充下拉列表?,javascript,jquery,asp.net,c#-4.0,tridion,Javascript,Jquery,Asp.net,C# 4.0,Tridion,我在Tridion CMS的扩展中向功能区工具栏按钮添加了一个按钮。点击按钮,弹出页面将显示两个下拉列表。通过更改第一个下拉控件中的值,我应该填充第二个下拉控件的值。在我的例子中,我使用的是ASP下拉列表控件。目前,我将把要填充的值硬编码到java脚本中的第二个下拉列表中。对于此要求,我使用以下代码,但我无法填充未标识标记的值 Java脚本代码: ABC.WCMS.RTFExtension.Popups.ButtonPopup.prototype._populate = function ()
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文件填充第二个下拉列表的值?您可以使用以下方法,而不是按需添加值: 预先将所有项添加到DOM中 使用jQuery逻辑隐藏所需的项 你可以参考下面的帖子来获得提示
请看一看我最近开发了一个GUI扩展,我们根据另一个下拉列表的值填充了一个下拉列表。当我使用javascript填充时,我有以下代码:
$j(c.SystemDropDown).append("<option value=\"" + value + "\">" + value + "</option>");
正如您所看到的,我的示例附加了整个标记,其中您的标记是使用.val指定的,也许您可以尝试这种方法
我的版本运行得很好:感谢您的回复。这不符合我的标准。这就是我为实现级联下拉列表所做的全部工作。其中,将从第一个下拉列表值填充第二个下拉列表值。请给我一个解决方案。非常感谢您的回复。您似乎正在使用Tridion控件。您正在实现级联下拉列表。你能告诉我不进行页面刷新的逻辑吗?我们如何才能做到这一点?请帮助我解决这个问题。在我的例子中,我使用的是c.SystemDropDown,它在扩展中被定义为正常值,如果您将其更改为使用您的dropdown,它应该可以正常工作。请为我提供实现级联dropdown的逻辑。为什么我会这样问,因为当我尝试实现相同的功能时,我的页面正在刷新。请分享我非常需要的逻辑。您正在使用ASP.NET控件,因此很可能由于回发而刷新页面。你有没有尝试过在普通ASP.NET中不使用Tridion构建相同的逻辑?@Puff我尝试过用普通ASP.NET创建相同的逻辑。在这种情况下,页面也会被刷新。