2013-08-28 1 views
0

나는 리피터에서 항목을 삭제하려면 삭제 버튼 "imgbtnDeleteGroups을"숨겨진했지만 내 문제는 내 "btnDeleteGroups는"리피터의 여러 버튼을 숨기거나 표시 하시겠습니까?

<div class="Group"> 
    <div class="row-fluid"> 
      <h3 class="font-black">Groups</h3> 

    </div> 
    <div class="row-fluid bottom clearfix group-div"> 
     <asp:LinkButton ID="lnkBtnAllGroup" runat="server" OnClick="lnkBtnAllGroup_Click" 
     CssClass="btn lts-darkgray">All</asp:LinkButton> 
     <asp:Repeater ID="rptGroup" runat="server" OnItemCommand="rptGroup_ItemCommand"> 
      <ItemTemplate> 
       <div class="GroupLink btn lts-blue"> 
        <asp:HiddenField ID="hfGroupID" runat="server" Value='<%# Eval("GroupID") %>' 
        /> 
        <asp:LinkButton ID="GroupBTN" runat="server" OnClick="LinkButton1_Click"> 
         <%# Eval("name") %> 
        </asp:LinkButton> 
       </div> 
       <asp:ImageButton ID="imgbtnDeleteGroups" CssClass="btnDelete hideDeleteBtn" 
       runat="server" CommandName="deleteGroup" ImageUrl="~/DesktopModules/ResourceGrouping/img/off.png" 
       ClientIDMode="Static" /> 
      </ItemTemplate> 
     </asp:Repeater> 
     <div class="groupName"> 
      <asp:TextBox ID="txtbGroupName" runat="server" placeholder="New Group"></asp:TextBox> 
      <asp:Button ID="btnCreateGroup" runat="server" Text="Create Group" 
      OnClick="btnCreateGroup_Click" UseSubmitBehavior="false" CssClass="btn lts-green group-dropdown" 
      /> 
      <input id="btnDeleteGroups" type="button" name="" value="Delete Group" 
      /> 
     </div> 
     <div class="divbreak"> 
      <img src="/DesktopModules/ResourceGrouping/img/divbreak-white.png" /> 
     </div> 
    </div> 
</div> 

자바 스크립트 imgbtnDeleteGroups에게 표시되지 않는 : 당신의 HTML 코드에서

$("#btnDeleteGroups").click(function() { 

     //alert("sdvsd"); 
     $("#Group").find(".btnDelete").removeClass("hideDeleteBtn"); 

    }); 
+0

어떤 HTML이 생성되는지 보여줄 수 있습니까? '.js'를 사용하고 있기 때문에 도움이 될 것입니다. –

+0

또한 ImageButton을 사용하면 이미지의 올바른 경로를 가지고 있는지 확인할 수 있습니까? –

답변

0

우선 웹 페이지의 특정 부분에만 국한되지 않는 한 .Group을 전혀 참조 할 필요가 없습니다.

모두 찾으려면 .each() 기능을 사용해야합니다. 다음은 간단한 예입니다. 여기

$(document).ready(function() { 
    $('#btnDeleteGroups').click(function() { 
     $('.btnDelete').each(function() { 
      $(this).removeClass("hideDeleteBtn"); 
     }); 
    }); 
}); 

이 일어날 필요가 무엇을 보여줄 수있는 jsfiddle이다.

0

, 나는 <div class="Group">을 본다. 따라서 "Group"은 CSS 클래스이고 HTML ID는 아니다.
따라서 $("div.Group .btnDelete").removeClass("hideDeleteBtn");으로 작성해야합니다.
find(".btnDelete")을 jQuery 선택기에 통합 할 수 있습니다.

+0

정확히 말하자면'$ ("# Group")'이라고 쓰지만, HTML 코드는'$ ("Group")'또는'$ ("div.Group")'을 써서 일치시킬 필요가있다. 첫 번째 DIV. – vdubus

+0

죄송합니다. 어디로 가는지 알고 있습니다. 예, 문제의 일부입니다. –

0

리피터를 사용하고 있기 때문에 리피터 이름을 컨트롤에 추가한다고 가정하고 그 컨트롤의 인스턴스가 여러 개이므로 어떤 것을 참조해야하는지 지정해야합니다. 그래서

$("#btnDeleteGroups").click(function(){ 
    $("#rptGroup_imgbtnDeleteGroups_" + position).removeClass("hideDeleteBtn"); 
}); 

의 라인을 따라 뭔가 특정 행에 속하는 imgbtndeletegroups 누를 지정 것이다 당신은 특정 컨트롤에서 클래스를 제거 할.

+1

코드에서 click 문을 사용하여 특정 행의 전부 또는 일부에서만 제거 할 수 있는지 확실하지 않았습니다. 그가 모두에게서 제거하고 싶은 경우에'each()'는 사용할 것이다 것일 것입니다. – Rafa

+0

어디에서'position'을 정의합니까? –

관련 문제