这是设置:用户在我的页面上填写了某个表单,该表单是通过 AJAX (jQuery $.post
) 提交的。在返回函数中,我向与提交的表单相关的页面添加了一个元素。该元素click()
附加了一个处理程序。该元素毫无问题地出现在页面上,但是当我单击它时,我得到了可怕的“无法转换 JavaScript 参数”。这是将元素添加到页面的行:
$('<span class="appointment" id="a'+aid+'">'
+type+name+'</span>').click(appointmentDetails).appendTo(calSlot);
同样,这是在 jQuerypost
函数的成功回调中调用的。该appointmentDetails
函数存在,所有变量也存在。我也试过这样:
var newHTML='<span class="appointment" id="a'+aid+'">'+type+name+'</span>';
$(calSlot).append(newHTML);
$("#a"+aid).click(appointmentDetails);
该appointmentDetails
函数使用传递的 ID 或this.id
获取约会 ID,然后运行 jQuery.post
来获取和显示约会详细信息。以下是基础知识:
function appointmentDetails(appID) {
if (!appID) var appID=$(this).attr("id").substr(1);
$.post("data/appointments.php", {aid: appID, action: "details"}, function(data) {
//Callback stuff. Doubtful it's relevant
}, "xml");
}