我的ASP.NET Web应用程序中包含以下Java语言行:

document.getElementById('<%=myTextBox[0].ClientID %>').value = "test";


如何访问myTextBox元素?例如,我想更改此服务器端数组的第5个元素,我想将服务器端参数传递给我的函数,该怎么办?

例如:

server side:
ddl.Attributes.Add("onChange", "return OnFoodChange(this,'" + i + "');");


javascript function:
function OnFoodChange(myCmb,myIndex)


使用document.getElementById('<%=myTextBox[myIndex].ClientID %>').value = "test";给我错误,它表示未定义myIndex,我认为因为myIndex的用法类似于服务器端参数,我该如何解决呢?

这是我完整的JavaScript函数:

   function OnFoodChange(myCmb,myIndex) {
               //alert('5');
try{
               var q = document.getElementById('<%= HFFoodPrice.ClientID %>').value.toString();
           var q2 = q.split(';');
           var index = 0;
           //alert(myCmb.selectedIndex.toString());

           //var e = document.getElementById(myCmb);
           var strUser = myCmb.options[myCmb.selectedIndex].value;

           document.getElementById('<%=myTextBox[0].ClientID %>').value = strUser;

           for (var j = 0; j < q2.length; j++) {
               if (q2[j] != '') {
                   var q3 = q2[j].split(',');
                   {

                   }
               }
           }
           }
           catch(err)
           {
           alert(err.message);
           }
       }

最佳答案

发送此文本框控件ID而不是发送索引,因为asp.net控件ID可能不符合您的预期,

在后面的代码中

ddl.Attributes.Add("onChange", "return OnFoodChange(this,'" + myTextBox[i].ClientID + "');");


在HTML中

function OnFoodChange(myCmb,myTextBoxId) {
 currentTextBox = document.getElementById(myTextBoxId);
//Your code...
}

09-11 10:19