2012-05-02 5 views
0

Я хочу открыть группу с помощью HTML-элементов, когда я нажимаю на флажок. Он отлично работает для одной группы (потому что тогда у меня есть только один идентификатор). Но если у меня больше групп, каждая группа имеет динамический идентификатор (для div-тега и тега ввода). Это мой HTML-код:Передача динамических идентификаторов для javascript

<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-методе, чтобы только группа с активированным флажком расширялась?

ответ

0

в вашем Если тело вы можете использовать относительный селектор, как

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

Спасибо, но как я должен назвать идентификатор из DIV и вход снаружи, если тело? – proud

Смежные вопросы