Javascript 从js方法调用中引用另一个下拉列表值

Javascript 从js方法调用中引用另一个下拉列表值,javascript,asp.net,Javascript,Asp.net,我试图从另一个下拉列表(ddlColor)中传入值,并将其选定的id和文本值传递到ddlEngine的事件方法中 <asp:DropDownList ID="ddlEngine" runat="server" onchange="GetSearchResults(ddlColor.value, ddlColor.text, this.options[selectedIndex].text);" /> 尝试使用DropDownList的ClientID属性: var ddl = do

我试图从另一个下拉列表(ddlColor)中传入值,并将其选定的id和文本值传递到ddlEngine的事件方法中

<asp:DropDownList ID="ddlEngine" runat="server" onchange="GetSearchResults(ddlColor.value, ddlColor.text, this.options[selectedIndex].text);" />

尝试使用DropDownList的ClientID属性:

var ddl = document.getElementById('<%= ddlColor.ClientID %>');
var ddl=document.getElementById(“”);
更新:


在更新的代码示例中,您似乎没有像对待
ddlCar
那样将
ddlColor
放入JS变量中。这可能是您的问题吗?

在页面顶部将其定义为全局

var ddlColor = document.getElementById('<%=ddlColor.ClientID %>');

我需要通过getelementbyid访问它,但是在这个下拉列表中,我如何在GetSearchResults方法调用的范围之外进行访问呢?用字符串appends附加id以形成方法调用?我不确定您所说的超出GetSearchResults方法范围的
是什么意思。如果ddlColor是页面上的asp.net控件,那么您应该能够在任何js函数中使用我下面描述的方法。内容超出范围不应该有任何问题。你是否像对待
ddlCar
一样将
ddlColor
放入js变量中?很抱歉,是的,我很匆忙,把帖子搞砸了。感谢您更正了变量名。是的,我知道怎么做,但是在我的web控件中附加方法调用字符串是我遇到的问题…连接。
GetSearchResults
javascript方法也是这样吗?等等,这样我就不需要附加字符串来摆脱文本来附加变量值了吗?不,
onchange
属性中的所有文本都将被视为一个Javascript块。你的变量是Javascript变量,所以你没问题。很高兴知道…我太熟悉愚蠢的asp.net服务器端包含。。。。
var ddl = document.getElementById('<%= ddlColor.ClientID %>');
var ddlColor = document.getElementById('<%=ddlColor.ClientID %>');
<asp:DropDownList ID="ddlEngine" runat="server" onchange="GetSearchResults(ddlColor.value, ddlColor.options[ddlColor.selectedIndex].text, this.options[selectedIndex].text);"></asp:DropDownList>