如何传递被check的那一行的数据?

obf13 2018-03-18 07:44:45
想要传递被选中的这一行的id="permission"的值,如果用name="permission[]"会传全部的permission过去,怎么只传被check的过去,要用JS吗?

<tr>
<td><input type='checkbox' name='check[]' value='"+array['id']+"'></td>
<td>"+array['id']+"</td>
<td>"+array['phonenumber']+"</td>
<td>"+array['username']+"</td>
<td><select id='permission'><option value ='"+array['permission']+"'>"+permission+"</option><option value ='none'>无权限</option><option value ='all'>管理员</option><option value ='order'>订单管理</option><option value ='customer'>客户管理</option><option value ='supplier'>供应商管理</option><option value ='company'>车辆管理</option><option value ='warehouse'>仓库管理</option></select></td>
</tr>";
...全文
545 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
obf13 2018-03-28
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
表单提交时,只有被选中的 checkbox 才会被提交,你将 id 赋值给 checkbox,就可以准确知道哪个 id 被选中了 而所有 select、 text 无论是否有值,都会被提交。如果希望 checkbox、select、text 形成小组,那么 select、text 就不能简单的 name[] 这样赋值,而需要 name[id] 这样赋值 才可以将他们和 checkbox 一一对应起来 虽然 select、 text 被提交的数量要多于 checkbox 的数量,但你是按 checkbox 来处理数据的,所以并不会增加工作量 如果你实在是怕计算机累着(好有爱心哦)那么你可以用 js 将有效的数据拼装成与 php 约定好的格式再提交,这显然是要多花些心思的(舍己为人,好样的)
谢谢啦!!!我终于改好了!!!
obf13 2018-03-28
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
表单提交时,只有被选中的 checkbox 才会被提交,你将 id 赋值给 checkbox,就可以准确知道哪个 id 被选中了 而所有 select、 text 无论是否有值,都会被提交。如果希望 checkbox、select、text 形成小组,那么 select、text 就不能简单的 name[] 这样赋值,而需要 name[id] 这样赋值 才可以将他们和 checkbox 一一对应起来 虽然 select、 text 被提交的数量要多于 checkbox 的数量,但你是按 checkbox 来处理数据的,所以并不会增加工作量 如果你实在是怕计算机累着(好有爱心哦)那么你可以用 js 将有效的数据拼装成与 php 约定好的格式再提交,这显然是要多花些心思的(舍己为人,好样的)
哈哈哈,好的,我大概懂你这个意思了,我试试,谢谢
xuzuning 2018-03-26
  • 打赏
  • 举报
回复
表单提交时,只有被选中的 checkbox 才会被提交,你将 id 赋值给 checkbox,就可以准确知道哪个 id 被选中了 而所有 select、 text 无论是否有值,都会被提交。如果希望 checkbox、select、text 形成小组,那么 select、text 就不能简单的 name[] 这样赋值,而需要 name[id] 这样赋值 才可以将他们和 checkbox 一一对应起来 虽然 select、 text 被提交的数量要多于 checkbox 的数量,但你是按 checkbox 来处理数据的,所以并不会增加工作量 如果你实在是怕计算机累着(好有爱心哦)那么你可以用 js 将有效的数据拼装成与 php 约定好的格式再提交,这显然是要多花些心思的(舍己为人,好样的)
obf13 2018-03-25
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
你的 select 没有 name 属性,不可能被表单提交 只能使用 js 但在使用 js 处理时 1、多个 <select id='permission'> 将产生单例违规,无法定位 2、虽然你用 同在一个 tr 标签来表示组成员,但 表单或 js 并不知道,提交后 php 也不知道 select 和 checkbox 间的对应关系
那请问我应该怎么改呢,我现在想到的唯一一个方法就是全选后用name="permission[]"来提交,可这样的话每次都要修改全部permission,心塞。
xuzuning 2018-03-24
  • 打赏
  • 举报
回复
你的 select 没有 name 属性,不可能被表单提交 只能使用 js 但在使用 js 处理时 1、多个 <select id='permission'> 将产生单例违规,无法定位 2、虽然你用 同在一个 tr 标签来表示组成员,但 表单或 js 并不知道,提交后 php 也不知道 select 和 checkbox 间的对应关系
obf13 2018-03-23
  • 打赏
  • 举报
回复
引用 1 楼 w6248117 的回复:
你为什么要传一个数组过去呢?你直接name="permission"不就可以接收了
因为我不止这一行啊,我有很多很多行,我的意思是在很多行当中传递被check的那几行或者那一行的permission.
  • 打赏
  • 举报
回复
$('#permission option:selected').val(); jq获取选中的值
木秀猿林 2018-03-19
  • 打赏
  • 举报
回复
你为什么要传一个数组过去呢?你直接name="permission"不就可以接收了

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧