0

我在 asp.net 1.1 站点工作。

我的要求是:回发时我有一些数据,我想将其存储在某个变量中。在 javascript 中,我想将这些信息添加到下拉列表中。

前任 :

来自回传电话的数据是:

Text        Value
One             1
two             2
three           3

我想将它们存储在某个变量中,并根据条件将它们分配给 JAVASCRIPT 中的下拉列表。

我用来在 C# 中保留值的代码是:

StringBuilder sb = new StringBuilder();
sb.Append("<script>");
sb.Append("var test = [];");
for(int i=0; i < Engine.Length; i++)
{
    sb.Append("var obj = {text:" + Engine[i][0] + ","  + "value:" + Engine[i][1] +"};");
    sb.Append("test.push(obj);");
}
sb.Append("</" + "script>");

this.RegisterStartupScript("ownHtml", sb.ToString());

并将值添加到 JAVASCRIPT 中的下拉列表中:

for (var count = 0; count < test.length; count++)
{
    dlEngine.options[count] = new Option(test[count].text, test[count].value);
}

但它不起作用。

4

2 回答 2

1

除了@i100 的答案,还需要修改服务器端代码,你错过了引号。

sb.Append("var obj = {text:'" + Engine[i][0] + "',"  + "value:" + Engine[i][1] +"};");
于 2013-08-28T08:53:53.833 回答
0

而不是 for (var count = 0; count < test.length; count++)

{
    dlEngine.options[count] = new Option(test[count].text, test[count].value);
}

使用类似的东西

for (var count = 0; count < test.length; count++){
    var opt = document.createElement('option');
    opt.value = test[count].value;
    opt.innerHTML = test[count].text;
    dlEngine.appendChild(opt);
}
于 2013-08-28T07:31:44.177 回答