【问题标题】:Pass dynamic id's for javascript为javascript传递动态ID
【发布时间】:2012-05-11 15:28:49
【问题描述】:

当我点击一个复选框时,我想用 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,以便只有激活复选框的组才会展开?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,但是我如何从 div 和 if 正文之外的输入中命名 id?
    猜你喜欢
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多