我面临以下问题。我有用户概览,并且希望能够删除多个用户。因此,如果我检查用户 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这样你就可以看到上面的结果了。
现在,当您单击链接时,您需要调用它(可能最好给它 id
或 class
,以便您可以选择它),以便它根据检查的内容是动态的:
$('#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/