首先,我在本网站的许多帖子中进行了搜索和搜索。所有的建议都没有用。我认为这个可能有用,但没有:How to get the nextSibling after the first nextSibling?
以下是相关表格:
<table>
<tr>
<td><%#DataBinder.Eval(Container, "DataItem.Name")%>:</td>
<td><asp:DropDownList ID="ddlInput" runat="server" onchange="swapIt(this);" />
</td>
<td>
<asp:TextBox ID="txtInput" runat="server" MaxLength="1000" Width="120" />
</td>
<td>
<asp:CheckBox ID="cbInput" runat="server" />
</td>
</tr>
</table>
这是javascript
function swapIt(ddlCtl) {
var inputCtl = ddlCtl.nextSibling;
inputCtl = inputCtl.nextSibling;
alert(inputCtl.nodeName);
//if (inputCtl.nodeName == "INPUT") {
if (inputCtl.nodeName == "#text") {
if (ddlCtl.value == "-1")
inputCtl.style.display = "inline";
else
inputCtl.style.display = "none";
}
}
这应该带回nodeName INPUT但它会带回#text。 此外,需要提及此表位于updatepanel内的datalist中,并且onchange属性是从后面的C#代码设置的。
我尝试了很多这方面的变化,但似乎无法找到正确的方法。
谢谢!