/ / Div елементи на клік пожежі для першого елемента тільки - c #, javascript, jquery, asp.net

Div елементи при натисканні на клацання для першого елемента - c #, javascript, jquery, asp.net

Я перераховую свої дані в ItemTemplate.Тоді всередині ItemTemplate я маю два теги div наступним чином:

   <ItemTemplate>
<div id="contentdiv">
<h4 id="titleresult"><a href="#"  onclick="showResults(<%#Eval("UserID")%>);return false;" class="title"><%# Server.HtmlEncode(Eval("Name").ToString())%></a></h4>
</div>

<div id="showclick" class=hideAll>
<p class="brief"><%# Server.HtmlEncode(Eval("LegalName").ToString())%></p>
<p class="brief"><%# Server.HtmlEncode(Eval("FirstName").ToString())%></p>
<p><%# Server.HtmlEncode(Eval("LastName").ToString())%></p>
</div>
</ItemTemplate>

Тоді я маю css для визначення класу hideAll, щоб при завантаженні сторінки дані в цьому тезі div були приховані, поки користувач не натисне посилання на contentdiv.

    .hideAll  { display:none }
.displayAll { display:block; top:0px}

Потім, нарешті, у мене є частина JavaScript для стрільби події клацання.

  <script type="text/javascript">
function showResults(UserID) {
var contentdiv= document.getElementById("contentdiv");
var showclick = document.getElementById("showclick");

<%
long id =0;
DataAccess dataAccess = new DataAccess();
Data = dataAccess.GetCounterParty(id);

%>
var UserID = <%=dataAccess.GetCounterParty(id) %>
contentdiv.style.visibility = "visible";
$(showclick).removeClass("hideAll");
}
</script>

UserID - це ідентифікатор кожного елемента списку. Проблема в тому, що клік впливає тільки на перший елемент, незалежно від того, який інший елемент я натискаю на список.

Відповіді:

4 для відповіді № 1

В html id використовується для позначення одного елемента.
Якщо ви використовуєте його кілька разів, браузер буде за замовчуванням для першого елемента.

Ви повинні використовувати селектор класів. Щось на зразок:

$(".contentdiv").click(function(){
$(this).next().removeClass("hideAll");
});

Ось а робочий приклад. Хоча я використовував toggleClass, мені здається більш доречним.


3 для відповіді № 2

Ідентифікатор - це унікальний ідентифікатор, і ви не можете мати дві або більше речі на одній сторінці з однаковим ідентифікатором і очікувати, що речі працюватимуть належним чином. Зробіть свої ідентифікатори унікальними і прив'яжіть до події клацання за допомогою селектора класів.


0 для відповіді № 3

ви повинні використовувати клас замість id, id є унікальними, які існують тільки в 1 сторінці, клас може існувати в multple div

деяка ідея для u

html
<div class="showclick hideAll">

script
$(".showclick").on("click", function(){
$(this).toggle(); //toggle to show or hide, can be any element u want to toggle instead of this
});