【发布时间】:2014-01-11 13:43:07
【问题描述】:
我正在开发一个现在应该随时完成的网站,但我有一个新任务要完成,我需要选中复选框来简单地归档 新闻项目。如果您愿意,也可以选择“博客文章”。
我们的想法是在每篇博文上都有一个复选框,如果您选中该复选框,则该博文应该被归档。 (这仅在管理员模式下)。
我需要 ajax 来完成这项工作,但我还没有学会。 PHP部分没有问题。
问题确实是我不知道如何将每个复选框的唯一 ID 传递给 JavaScript 函数,然后传递给 PHP 函数。
好的,我有一组博文,女巫复选框,像这样:
<div class="news_item">
<input name="checkbox_blog" id="checkbox1" value="1" type="checkbox" />
</div>
<div class="news_item">
<input name="checkbox_blog" id="checkbox2" value="1" type="checkbox" />
</div>
等等。 Id 由 MySQL 中的 ID 填充。
我有某种用于 ajax 复选框的插件,但它只适用于一个复选框。
基本上是这样的:
$("#checkbox").change(function() {
if($(this).is(":checked")) {
$.ajax({
url: 'admin/archive_it',
type: 'POST'
});
} else {
$.ajax({
url: 'admin/dont_archive_it',
type: 'POST'
});
}
});
在一个复选框上效果很好,但我不知道如何继续。
有什么建议吗?
我认为它可以使用两个不同的 php 脚本来检查和取消检查博客文章,这并不重要,我只希望它开始使用不同的复选框。
谢谢!
解决方案:
我将 id 更改为 classes,并使用 Arun P Johny 的代码:
$('.checkbox_blog').change(function () {
$.ajax({
url: this.checked ? 'admin/archive_it' : 'admin/dont_archive_it',
type: 'POST',
data: {
id: this.value
}
});
});
因为我使用的是 CodeIgniter,并且打开了 CSRF-security 选项,所以我不得不将其添加到数据中:
<?=$this->security->get_csrf_token_name()?> : '<?=$this->security->get_csrf_hash()?>',
现在它可以完美运行了!谢谢大家!
【问题讨论】:
-
您可以将同一个类用于多个复选框并将其用于更改功能
标签: javascript php jquery ajax checkbox