繁体   English   中英

将值传递给Javascript函数

[英]Passing Value to Javascript function

我正在调用jQuery函数,但是Alert函数显示[object Object]。 检查值有效,但传递的id值无效。

这是从html输出中获取的对该函数的调用:

<td class="myGroups">
    <input class="chkSubscribed" type="checkbox" onclick="UpdateSubscription(2)" name="subscribed">
</td>

这是javascsript函数:

$(".chkSubscribed").change(function(id) {
    alert(id);
    var chkd=0;
    var groupid=id;
    if (this.checked) { chkd=1; }
        $.ajax({
        type:"POST",
        url:"resources/updateSubscribe.php",
        data: { group_id: groupid, checkval: chkd },
        success: function(){
        alert("Account updated!" + "chkval=" + chkd + " id=" + groupid);                }
    });
});

谢谢你的帮助!

这里有几个不同的问题。

  1. 使用alert()进行调试。 这几乎总是比使用console.log()更糟糕。 传递给alert所有内容都转换为字符串,这就是为什么看到"[object Object]"而不是有用的东西的原因。 切换到console.log() ,您将看到一些有意义的东西。
  2. jQuery事件回调传递给jQuery event对象 对象是id设置的对象。
  3. 内联onclick处理程序与与jQuery绑定的change处理程序完全无关

你这样做是错的。

您要调用函数还是要使用change事件。

如果要调用函数,请按如下方式创建一个函数:

function moo(id) {
    //code here
}

如果要使用change事件来执行此操作,则可以为输入提供所需编号的ID,如下所示:

<input id="2" class="chkSubscribed" type="checkbox" name="subscribed">

然后,您的JavaScript应该如下所示:

$(".chkSubscribed").change(function() {
    id=this.id;
    //and the rest of the code as you wrote
});

jQuery函数change()将传递事件对象,而不是更改后的对象的ID-您将其视为当前的ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM