【问题标题】:How to pass current Element ID into Document Ready jquery from a C# foreach loop?如何从 C# foreach 循环将当前元素 ID 传递到 Document Ready jquery?
【发布时间】:2012-11-10 16:56:00
【问题描述】:

所以我有这个 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。
谢谢

【问题讨论】:

    标签: c# jquery function foreach


    【解决方案1】:

    好的,我已经做到了。我不确定这是否是最好的方法,但它确实有效,这就是我现在所关心的。如果需要,我可以在以后整理出来。这就是我所做的。首先,我为链接提供了一个名为“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);
            }
        });
    
    });
    

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

    【讨论】:

      【解决方案2】:

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

      onClick="reply_click(this.id);"
      

      这里你可以增强为

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

      【讨论】:

      • 我尝试实现此功能,但它不想与我正在使用的确认对话框小部件一起使用。不过我会继续努力的
      【解决方案3】:

      您可以尝试以下方法:

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

      【讨论】:

      • 这确实有效,但不幸的是我不能使用它,因为我必须将小部件用作它的一个非常大的系统并且它用于客户端,我们必须遵守提供的规范。所以我不能用这个,如果我没有选择的话我会用的。不过谢谢你
      • 它是什么类型的小部件?表示 jquery ui 对话框
      • 它是一个确认覆盖小部件,我不确定我们使用的是哪一个,但它被定制了很多,但它类似于这个tutorialzine.com/2010/12/better-confirm-box-jquery-css3
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 2012-07-12
      • 2021-08-15
      • 1970-01-01
      • 2020-10-14
      相关资源
      最近更新 更多