我正在寻找一些帮助将其从原型转换为jQuery的帮助。我正在为慈善机构做一些免费工作,并更新他们用来跟踪和分配志愿者的系统。到目前为止,我已经成功转换了其他所有东西,然而,这让我很难过。请原谅拼写错误,代码是逐字逐句给出的。
我已经看过http://docs.jquery.com/Ajax/jQuery.ajax,但未能将所有内容放在一起,涵盖所有不同的部分。通常只会遇到某种破碎的混乱。
我有一个包含许多复选框的页面,如下所示:
<input <?PHP echo $checked; ?> type='checkbox' onclick='toggle_advisor_assignment_mark("<?PHP echo $advisor['id']; ?>", "<?PHP echo x('case_id'); ?>");' />
当选中或取消选中(视情况而定)时,ajax用于调用php,它使用顾问ID和案例id来分配或删除顾问/志愿者,并返回div的输出(称为adviors_box) )列出现任顾问/志愿者。
javascript代码:
function toggle_advisor_assignment_mark(id, case_id)
{
new Ajax.Updater('adviors_box', 'index.php', {
evalScripts: true,
method: 'POST',
parameters: 'task=case_change_advisors&ajax_mode=yes&id='+id+'&case_id='+case_id
});
}
提前感谢您的帮助。
答案 0 :(得分:2)
您可以在对象文字中使用key: value
对作为加载函数的第二个参数。此外,如果作为第二个参数传入任何数据,请求将自动作为POST
请求发送:
function toggle_advisor_assignment_mark(id, case_id) {
$('#advisors_box').load('index.php', {
task: 'case_change_advisors',
ajax_mode: 'yes',
id: id,
case_id: case_id
});
}
的详情
答案 1 :(得分:1)
function toggle_advisor_assignment_mark(id, case_id)
{
$('#advisors_box').load('index.php', {
task: 'case_change_advisors',
ajax_mode: 'yes',
id: id,
case_id: case_id
});
}
答案 2 :(得分:0)
我不确定evalScripts
部分,但如果你的有效负载没有任何脚本要执行(无论如何将脚本与内容混合都不是一个好主意),你可以这样做:
$.post('index.php',
{"task" : "case_change_advisors",
"ajax_mode" : yes,
"id" : id
"case_id" : case_id },
function(data) {
$("#adviors_box").html(data);
});