2012-06-01 3 views
0
<li> 
    <div class="slidera_img"> 
    <a href="image.jpg" rel="example_group" title="<a href='#' onClick='ajaxpost(@item.Id)'><img src='foo.jpg'/></a>"> 
    <img src="@Url.Action("ViewImage", "Image", new { id = item.Id, imageType = "thumb" })" alt="" width="100" height="100" /> 
    </a> 
    </div> 
    <div class="slidera_num">@item.VoteCount</div> 
</li> 

위의 코드는 모달 상자를 열고, slidera_img div 내부의 href는 다음 코드로 ajax를 얻습니다. 그 후 나는 ajax 요청에서 얻은 현재 값으로 slidera_num 클래스로 div를 업데이트 할 수 있기를 원한다. ajax 호출 후 update div

<script type="text/javascript"> 
    function ajaxpost(id) { 
     var item = $(this).parent(); 
     alert(item); 
     $.get('@Url.Action("VoteAjax","Home")', { id: id }, function (response) { 
      item.closest("li").find(".slidera_num").html(response.vote); 
     }); 
    } 

나는 위하지만 행운 시도했다.

어떻게하면됩니까?

감사합니다.

+0

href 태그가 제목 속성에있는 이유는 무엇입니까? 팬시 박스 작동 방식은 –

+0

입니다. – DarthVader

답변

1

첫번째 단지 링크는 다음이 필요합니다

<a href="image.jpg" rel="example_group"><img src="@Url.Action("ViewImage", "Image", new { id = item.Id, imageType = "thumb" })" alt="" width="100" height="100" /></a> 

는 다음을 표시 fancybox를 호출합니다. 해당 호출에서 항목을 반환하는 onComplete 이벤트로 연결 한 다음 페이지를 업데이트해야하는 다른 모든 Ajax 호출을 호출 할 수 있습니다. 전화 번호 :

$("img[rel='example_group'").fancybox({ onComplete: function(item){ 
    $.get('@Url.Action("VoteAjax","Home")', { id: item.id }, function (response) { 
     $(item).closest("li").find(".slidera_num").html(response.vote); 
    }); 
}}); 
0

fancybox 정확히 어떻게 작동하는지 모른 채, 나는 많이 당신을 도울 수 있지만, 나는 몇 가지를 제안 할 수 있습니다 :

  1. 확인을 브라우저에서 자바 스크립트 오류가 있다면. ajaxpost() 또는 ajax 콜백 함수가 실패하면 코드가 이되지 않습니다.
  2. Web Inspector가있는 웹킷 브라우저 또는 Firebug가있는 Firefor와 같은 디버거를 사용하여 브라우저에서 페이지를 열고 ajaxpost() 및 ajax 콜백에 각각 하나씩 중단 점을 넣으십시오. 올바른 요소를 선택했는지 확인하십시오. 아이템이 당신이 기대하는 것입니까? 선택기 체인이 아약스 콜백에서 찾고자하는 바를 찾았습니까?
  3. 원본 ajaxpost()의 모양과 정확히 무엇을 추가했는지 설명하십시오. 또한 fancybox가로드 될 때 html이 어떻게 변형되는지 알려줍니다. Web Inspector 또는 Firebug에서이 내용을 볼 수도 있습니다. 이 정보를 통해 누군가가 도움을 줄 수 있습니다. 이미지에
관련 문제