传递javascript的动态ID

时间:2012-05-02 06:47:36

标签: c# javascript asp.net-mvc-3

当我点击一个复选框时,我想用HTML-Elements打开一个组。它适用于一个组(因为那时我只有一个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是我要打开的'Group'的名称(整个名称随每个循环而变化)

这是我的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,以便只有具有激活复选框的组扩展?

1 个答案:

答案 0 :(得分:0)

在你的If体中你可以使用相对选择器,如

$(this).parent('div').show(250)