[英]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); }
});
});
谢谢你的帮助!
这里有几个不同的问题。
alert()
进行调试。 这几乎总是比使用console.log()
更糟糕。 传递给alert
所有内容都转换为字符串,这就是为什么看到"[object Object]"
而不是有用的东西的原因。 切换到console.log()
,您将看到一些有意义的东西。 event
对象 。 该对象是id
设置的对象。 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.