我的表单上有一个HTML表。第1列包含一个下拉列表和一个隐藏的范围,第2列包含一个隐藏的范围。我需要显示两个跨度并在用户做出选择后隐藏下拉菜单。我已经使用类似的代码在其他应用程序中做了类似的事情
var ddl_change = function() {
var ddl = this;
$("lbl1").text(ddl.options[ddl.selectedIndex].text).show();
$(ddl).hide();
}
如果有4个下拉菜单(表格中的行)。为了代码重用,我想使用相同的处理程序。我想我可以编写4个单独的处理程序,但这似乎很浪费。
一行的html看起来像这样
<tr>
<td>
<asp:DropDownList runat="server" ID="ddlbc1" />
<asp:Label runat="server" ID="lbl1" />
</td>
<td>
<asp:Label runat="server" ID="bd1" />
</td>
</tr>
如果需要,我拥有完整的客户端控件ID。无论如何,在此单个函数中是否有一种方法可以处理任何行?我将客户端更改事件处理程序添加到所有必需的下拉菜单中,并将它们指向此单个功能。我确认它们均已正确连接。我希望lbl1 textx是ddl selectedValue,而bd1在相邻单元格中具有ddl selectedText。 jQuery大师的任何帮助将不胜感激。谢谢你们!
干杯,
〜ck在圣地亚哥
最佳答案
$("td select").change(function(e){
$(this).hide().parent().parent().find("span").show();
});
旋转一下。您也可以通过直接修改CSS或更改类来管理它。
您可以一次定位整个表,而不是使用$(“#table-id-name select”)而不是$(“ td select”)(将选择整个页面中的所有TD)定位到一行。