我的表单上有一个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)定位到一行。

09-26 09:10