php - 从复选框值中生成 URL。 mvc模式

标签 php javascript jquery arrays checkbox

我面临以下问题。我有用户概览,并且希望能够删除多个用户。因此,如果我检查用户 1 (userid 1) 和用户 2 (userid 2),他们都会删除。

我想在我的 URL 中设置它,例如:localhost/cms/users/multipledelete/1&2,因此使用 &。

当我将该网址放入浏览器中时,我的删除功能就可以正常工作了。在我的 javascript 中,我有以下代码:

    $('.checkbox').click(function() {
    if($(".checkbox").length == $(".checkbox:checked").length) {
            $("#checkall").prop('checked', this.checked);
        } else {
            $("#checkall").removeAttr("checked");
        }                     
});

在我的索引中,我设置了以下代码:

<td>
<input type="checkbox" class="checkbox" name="check_list[]" value="<?php echo $user->id; ?>"/>
</td>
<td> ....... </td>

在我的概述下,我想将回收站的网址设置为:multipledelete/1&2

              <a href="<?php echo $this->url('zfcadmin/user', array('action'=>'multipledelete', 'id'=>'1&2'));?>">
                   <i class="icon-trash"></i>
              </a>

所以 1&2 在哪里,我想要当前选中的复选框。我怎样才能解决这个问题?

最佳答案

您需要使用 JavaScript 生成 1&2字符串。像这样的东西(用 jQuery 编写)应该可以工作:

$('.checkbox:checked').map(function() {
    return this.value;
}).get().join('&');

分解:

  • $('.checkbox:checked')选择checked复选框;
  • .map(function() { return this.value; })生成一个包含其值数组的 jQuery 对象;
  • .get()将其作为实际数组返回
  • .join('&')返回一个字符串,将数组的每个元素与 & 连接起来

我创建了一个基本的 jsFiddle demo这样你就可以看到上面的结果了。

现在,当您单击链接时,您需要调用它(可能最好给它 idclass,以便您可以选择它),以便它根据检查的内容是动态的:

$('#anchor-id').click(function(e) {
    e.preventDefault(); // don't follow the link
    var idString = $('.checkbox:checked').map(function() {
        return this.value;
    }).get().join('&');
    window.location.href = this.href + idString;
});

你会做href <a> 的属性标记静态部分,所以 localhost/cms/users/multipledelete/ .

关于php - 从复选框值中生成 URL。 mvc模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15968285/

相关文章:

javascript - 如何使用 Angular js从下拉列表中获取值

javascript - 在 .load() 内容上运行 JS 函数

php - 在 MYSQL 数据库中存储多语言/unicode 字符(泰语、印地语、菲律宾语)

php - 您必须启用 openssl 扩展才能通过 https 下载文件

php - 如何构建电子商务应用程序的数据库?

javascript - 将格式化的纯文本转换为 HTML

php - 存储到MySQL后base64错误

javascript - 即使我不从外部链接调用,React-native 链接 getinitialurl() 也能正常工作

javascript - 如何在angularjs中拆分字符串?

jquery - 在 Liferay 中添加 jQuery 插件