如何从C#foreach循环将当前元素ID传递到Document Ready jquery?

时间:2012-11-22 10:06:50

标签: c# jquery function foreach

所以我有这个foreach循环...

@foreach (Attachment attachment in Model)
{
<tr class="row@(index%2 == 0 ? "" : " even")">
        <td>
            @Html.ActionLink(attachment.AttachedFilename, "ViewAttachment", "Auction", new {docID = attachment.AttachmentId}, new {target = "_blank"})
        </td>
        <td>
                <a id="@attachment.AttachmentId" class="publishAttachment" name="public" style="float: right" tabindex="7">
                <img src="@Url.Content("~/Content/Images/cross_circle.png")" />
           </a>
       </td>
 </tr>
 index++;
 }

我有这个jquery ......

$(document).ready(function () {
    $('.publishAttachment').click().confirmationDialog({ message: "Are you sure you want to cancel ?", okButton: "I am sure", cancelButton: "No, I don't want to do this",
        onSuccess: function () {
            var obj = $(this).attr('id');
            alert(obj);
            return false;
        }
    });
});

所以基本上当我点击链接时,我会得到一个弹出对话框,上面有一条消息,是或否按钮。但是,如果我无法将ID传递到文档中,我就无法完成任务。如果它是链接中的onclick,我可以很容易地做到,但是这对我正在使用的小部件不起作用,所以我如何获得被点击元素的ID。
由于

3 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

$(document).ready(function () {
    $('.publishAttachment').click(function(){
        var answer = confirm("Are you sure you want to cancel ?")
        if (answer){
            var obj = $(this).attr('id');
            alert(obj);
            return false;
        }

    });
});

答案 1 :(得分:0)

基本上你这样做是为了获得点击的元素Id

onClick="reply_click(this.id);"

在这里你可以增强为

   if (yourConfirmMessageHere){
        var obj = $(this).attr('id');
        alert(obj);
        return false;
    }

答案 2 :(得分:0)

好的,我已经做到了。我不确定它是否是最好的方法,但是它起作用,这就是我现在所关心的。如果需要的话,我可以在以后解决这个问题。这就是我做的。首先,我给链接一个名为“myfunc”的onclick事件,该事件具有附件ID值。然后我创建了一个函数,它返回值,然后我在文档中调用该值,就像这样......

function myfunc(value){
    theGlobalName = value;
}
$(document).ready(function () {
    $('.publishAttachment').confirmationDialog({ message: "Are you sure you want to cancel ?", okButton: "I am sure", cancelButton: "No, I don't want to do this",
        onSuccess: function () {
            var obj = theGlobalName;
            alert (obj);
        }
    });

});

就像我说的那样,它可能不是最好的方法,但它现在有效。