在JavaScript / JQuery中获取调用者的ID

我创建了一个AjaxMethod(一种非常通用的方法,我正在做ASP.NET MVC )来获取用户点击的项目的ID,并将它们添加到网站购物车中(通过将它们添加到Cookie中)。 问题是我的Ajax方法有一个参数用作ID,所以我创建的按钮的id属性是实际的产品ID ,它们的值是Add to Cart 。 我还创建了一个隐藏的提交按钮,其ID 与Ajax方法中的参数名称相同,并且其值取决于所单击的按钮的ID

Click Button ID --Passed into--> Value of submit button

我的问题是,我想知道是否有任何方法可以编写JavaScript / JQuery方法 ,并在OnClientCLick 按钮中使用它:获取调用者按钮的ID,然后将其传递给提交按钮的值。

例如:

// I do not know the ID of the caller
// this method is used like: <button id="1111" OnClientClick="Test()"></button>
function Test() {
    var ID = this.id // this did not work
    $("#SubmitButton").val(ID)
    $("SubmitButton").trigger("click")
}

首先,你的函数有一个问题, this实际上并不涉及该上下文中的按钮。

您需要定义该函数以匹配标准事件处理程序签名,如下所示:

function Test(event)

然后,您可以从事件对象中获取元素的ID,如Dmitry在其答案中所示:

function Test(event) {
    var ID = event.id 
    $("#SubmitButton").val(ID);
    $("SubmitButton").trigger("click");
}

而当你发现你需要在绑定中传递event的价值

<button id="1111" OnClick="Test(this);"></button>

或者,您可以使用jQuery来使用除ID之外的其他东西来绑定按钮:

//set it up like this:  <button id="1111" class="SomeClassToIdentifyTheButton"></button>
$(".SomeClassToIdentifyTheButton").click(function(){
    var ID = $(this).attr('id');
    $("#SubmitButton").val(ID);
    $("SubmitButton").trigger("click");
});

您可以使用jQuery .click方法来获取单击元素的ID。

$("#SubmitButton").click(function(event) {
    alert(event.target.id);
});
链接地址: http://www.djcxy.com/p/83301.html

上一篇: Get the ID of the caller in JavaScript/JQuery

下一篇: event on new DOM element