gpt4 book ai didi

javascript - 如何将 List<> 传递给 Javascript 并在组合框 C# 中显示

转载 作者:行者123 更新时间:2023-11-28 05:22:57 25 4
gpt4 key购买 nike

我有一个列表,存储从数据库中过滤的一些记录。我对Javascript一无所知。有人可以教我如何将列表传递给 Javascript 并将其显示在组合框中吗?P/S:我希望组合框文本字段存储名称(允许用户查看),值字段存储 nameId(对用户隐藏)。

我的c#代码如下:

public static List<bllControls> getPropertyTypeByPhaseId(int prmPhaseId)
{
bllControls clsControls = new bllControls();
List<bllControls> lstControls = new List<bllControls>();
lstControls = clsControls.PropertyTypeSource(prmPhaseId);

return lstControls;
}

虽然我的Javascript代码如下:

function onSelectedPhase(comboPhase) {
var phaseId = comboPhase.GetValue();
PageMethods.getPropertyTypeByPhaseId(phaseId, onSuccess, onFailed);
function onSuccess(oaCompProj) {
//here should loop the List and then store in combobox
}
function onFailed(oaCompProj) { alert('Failed to get Company and Project info'); }
}

我的组合框 ID 是 ddlProperty。

最佳答案

我刚刚提供了在组合框中添加元素的 JavaScript 逻辑,如下所示。

var cb = document.getElementById("comboBoxId"); // combo box widget
var lstItem = [
{
nameId: 1,
name: "John"
},
{
nameId: 2,
name: "Doh"
}
];

// Solution 1
for(var i = 0; i < lstItem.length; i++) {
var item = lstItem[i];
var elem = document.createElement("option");
elem.textContent = item.name;
elem.value = item.nameId;
cb.appendChild(elem);
}​

// Solution 2 if var lstItem = ['0001@ABC', '0002@DEF'];
for(var i = 0; i < lstItem.length; i++) {
var item = lstItem[i].split('@');
var elem = document.createElement("option");
elem.textContent = item[1]; // for character after '@' e.g. ABC or DEF
elem.value = item[0]; // for character before '@' e.g. 0001 or 0002
cb.appendChild(elem);
}​

请在从数据库中检索数据后采用此概念。享受它。

关于javascript - 如何将 List<> 传递给 Javascript 并在组合框 C# 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40394572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com