0

当我点击一个复选框时,我想用 HTML 元素打开一个组。它适用于一组(因为那时我只有一个 id)。但如果我有更多组,每个组都有一个动态 id(用于 div-tag 和 input-tag)。这是我的 HTML 代码:

<div style="line-height: 1.7em; background-color: #eee;">
   <span style="padding-left: 8px; color: #eb8f00; font-size: 1.1em; font-weight: bold; font-family: 'Trebuchet MS', Verdana, Helvetica, Sans-Serif;">
      <input style="vertical-align: middle;" id="@currentElement.sGroupId" type="checkbox" name="@currentElement.sGroupId" />
      <label for="@currentElement.sGroupId">@currentElement.sGroupName</label>
   </span>
</div>

<div style="background-color: #eee;" class="@currentElement.sGroupName">
   <!-- Dynamic content -->
</div>

现在我有那些由于我的 foreach 循环而动态的字符串。

@currentElement.sGroupId 看起来像“idgr_12”(只有数字改变)
@currentElement.sGroupName 是我要打开的“组”的名称(整个名称随着每个循环而变化)

这是我的 Javascript 代码:

$(function () {
   $("id from div").hide();
   $("id from input").change(function () {
      var $this = $(this);
      if ($this.is(":checked")) {
         $("id from div").show(250);
      }
      else {
         $("id from div").hide(250);
      }
   });
});

现在我得到例如三个组,每个组都有一个复选框。但是当我点击一个复选框时,每个组都会展开。我如何在我的 javascript 方法中获取这些动态 ID,以便只有激活复选框的组才会展开?

4

1 回答 1

0

在您的 If 正文中,您可以使用相对选择器,例如

$(this).parent('div').show(250)
于 2012-05-02T07:23:22.540 回答