如何获得文本的下拉列表使用javascript ClientID

本文关键字:javascript ClientID 下拉列表 何获得 文本 | 更新日期: 2023-09-27 18:13:03

我有一个gridview更新面板里面有一个下拉列表。我想访问值选择项目验证的目的,但得到错误。

我曾经设法通过首先获得gridview的id来正确工作,其中下拉列表存在,然后用下拉列表clientID后缀它,但失去了它,现在似乎无法完成。

我通过查看生成的HTML源代码获得下拉列表的clientId。

('<%= drpLstId.ClientID %>给出错误drpLstId在当前上下文中不存在

这是生成aspx页面后下拉列表生成的HTML。

<select name="ctl00$viewMain$grdView$ctl01$ddlNew" id="ctl00_viewMain_grdView_ctl01_ddlNew" class="ddl" style="width:70px;">
        <option value="0">Select</option>
            <option value="1">Option 1</option>
            <option value="2">Option 3</option>
            <option value="3">Option 3</option>
 </select>

这就是我所做的

 function validate()
    {
      var drpDownList= document.getElementById('ctl00_viewMain_grdView_ctl01_ddlNew');
       var drpDownListValue = drpDownList.options[drpDownList.selectedIndex].Text;
       alert(drpDownListValue );
    }

但是这给了我错误undefined在警告框

如何获得文本的下拉列表使用javascript ClientID

您需要使用innerHtml代替文本,如:

var drpDownListValue = drpDownList.options[drpDownList.selectedIndex].innerHTML;

您可以通过从服务器端注册js代码来获得控件ID

RegisterStartupScript("var drpDownList = " + drpLstId.ClientId);

然后在客户端你可以得到内部HTML

var drpDownListValue = drpDownList.options[drpdownlist . selecteindex].innerHTML;

查看HTML并获得客户端id,然后将其硬编码到代码中似乎不是个好主意。