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 に答える