为 javascript 传递动态 id

Pass dynamic id's for javascript

本文关键字:动态 id javascript      更新时间:2023-09-26

我想在单击复选框时打开一个带有 HTML 元素的组。它适用于一组(因为那时我只有一个 id)。但是如果我有更多的组,每个组都有一个动态 id(用于div 标签和输入标签)。这是我的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,以便只有激活了复选框的组才能展开?

在你的

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

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