checkbox排序求助

#1 SunPSP

这个不是SP的问题,是在写前台HTML的时候遇上的一个问题
由前台就收的checkbox表单默认就是按该表单顺序排序
然后用implode函数组成字串或者其他方式存入数据库
那么有没法子可以实现按要求改变这些字串的顺序?

2013-03-22 07:53:31

#2 jake

PHP数组操作函数 http://www.php.net/manual/zh/ref.array.php

2013-03-22 08:42:45

#3 SunPSP

jake 发表于 2013-3-22 08:42
PHP数组操作函数 http://www.php.net/manual/zh/ref.array.php
关键是这个排序的也得由前台同步传进来
现在的问题是怎么获取checkbox的排序依据。。。。

比如传过来5个值a,b,c,d,e,默认就是这么排的
现在需要改变这个顺序,由前台传过来的排序值1.2.3.4.5来确定顺序
比如1对a,2对c,3对e,4对b,5对d
那么按照这个顺序排序就应该是a,c,e,b,d了
checkbox参数与排序参数的对应的问题没法解决没有解决思路

2013-03-22 08:57:12

#4 SunPSP

SunPSP 发表于 2013-3-22 08:57
关键是这个排序的也得由前台同步传进来
现在的问题是怎么获取checkbox的排序依据。。。。
忘了说明, 这checkbox的数量也是不确定的

2013-03-22 08:58:01

#5 jake




...

2013-03-22 09:35:58

#6 SunPSP

jake 发表于 2013-3-22 09:35
...
{:soso_e109:}
checkbox的name参数是写在html中的,前台无法输入啊
这个排序参数既然是要自己的要求来
当然是用另外表单或者什么方式手工输入然后传入的
这个问题的关键也在这里,始终找不到办法

2013-03-22 09:59:18

#7 coolhpy

还是把你的代码贴出来吧,,看的云里雾里的~
:L

2013-03-22 10:13:43

#8 SunPSP

coolhpy 发表于 2013-3-22 10:13
还是把你的代码贴出来吧,,看的云里雾里的~






前台表单就是这样,区别就是VALUE值不同,数字更浅白写
控制器接收
$check=implode(',',$this->spArgs('check'));
那么最后$check=0,1,2,3,4,5

现在的需求是重新排列$check值的顺序,比如$check=1,3,5,2,4,0
而这个顺序也是在前台根据需要确定然后传入的
如果J大那样直接name=check[参数值],name这个参数没法手动输入
需要的就是这个排序参数由用户手动输入

2013-03-22 10:55:40

#9 coolhpy

你用JS拖动checkbox来排序,再提交应该就是排序后的顺序了

2013-03-22 11:30:50

#10 coolhpy

参考的拖动JS

2013-03-22 11:31:05

#11 coolhpy

http://www.cnblogs.com/aha/archive/2010/11/27/1889775.html

2013-03-22 11:31:15

#12 jake

SunPSP 发表于 2013-3-22 10:55
前台表单就是这样,区别就是VALUE值不同,数字更浅白写
控制器接收
$check=implode(',',$this->spA ...
展开来想吧。

name=check[参数值]

参数值可以是 name=check[顺序编号+前台输入的参数值],不就可以了吗。

PS:估计这问题本身的需求你还没理解透,只是一直往checkbox的方向撞而已。

2013-03-22 13:00:17