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 を取得します。その後、slidera_num クラスの div を、ajax リクエストから取得した現在の値に更新できるようにしたいと考えています。

<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);
        });
    }

上記を試しましたが、うまくいきませんでした。

これどうやってするの?

ありがとう。

4

2 に答える 2

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);
    });
}});
于 2012-06-01T09:58:07.743 に答える