html前端复选框多类多个复选框提交怎么封装选中的数据,提交到后台...

发布网友 发布时间:2022-04-24 04:42

我来回答

3个回答

懂视网 时间:2022-05-02 02:11

          将多个checkbox放到一个div元素中。利用jquery的函数进div和checkbox进行控制选取。取值和赋值能够写一个循环既能够完毕。至于表单提交既能够利用form标签调教。也能够利用jquery的ajax方式提交。在对用户体验度要求高的系统中最好使用ajax方式提交,这是界面的设计部门,另外还有数据库表的建立,我在做数据库表时认为非常easy但也遇到了一些问题。

        

          数据库须要建立一张关系表来存储多对多关系,大家都知道到,须要注意的是在这张关系表里面怎么存储。即多个复选框的ID是存储在一个字段里面还是一个ID一条记录呢。这两种方式都能够实现;假设存储在一个字段里面就须要把处理这个字段的逻辑写在java类里面,我在做表单时从表单界面直接到数据库SQL语句,中间逻辑已经封装不能够改动,因此仅仅能把IDS存在一个字段里面,感觉这样的方式实现也挺快,降低了逻辑。


         例如以下有两张表fcs_checkitem、fcs_useritem。fcs_useritem为关系表它的itemids字段保存了fcs_checkitem表的itemid数组,想利用以下嵌套语句查询:

SELECT * FROM fcs_checkitem
WHERE itemid IN
(
	SELECT itemids FROM fcs_useritem
	WHERE userid=‘00000075‘

)

          经測试这样写并不能查询出结果,由于里面嵌套的查询返回的结果是一个逗号隔开的字符串数据(001,002。,003),假设手动写一个这种数据是能够查询出来的,可是这样动态的方式是查不出来的,上网查发现mysql是不支持这样动态查询的,发现有还有一种思路实现这种keyword “IN” 的功能。

SELECT group_concat(b.itemname) as itemnames 
FROM fcs_useritem a, fcs_checkitem b 
WHERE CONCAT(CONCAT(‘,‘,a.checkid),‘,‘) 
LIKE CONCAT(CONCAT(‘%,‘,b.itemid),‘,%‘) 
AND a.userid=‘:{$urlParam("formid")}:‘

          上面利用了concat()以及group_concat()这两个函数,它原理是能够用几个字理解:用LIKE 实现IN的功能。

          这种比如有两张表A和表B,A表的一个字段ids是B表字段id的数组。那么给B.id两天加上%,让A.ids字符数组两端加上逗号。拿一个详细的数字举个样例即是,1,去匹配,1,2,3,这个字符串,仅仅要找到一个匹配的就会返回一条记录。用这种方式实现类似于in的查询。


Concat()函数
这个函数经常使用语连接多个字符串,比如

String Str1="世界";
String str2="你好"
Str3=concat(str1,str2);
Str3="世界你好",这个函数把这两个字符串连接了起来,有时会认为非常实用;


Group_concat()函数。看一下效果

技术分享

           这是一个简单的查询结果,再看一下使用这个函数的效果

技术分享

            该函数实现了将表中查出的某一列数据,转换成一个字符串数组。如上图所看到的,假设你就是想把查出的某一列转为字符串数组会非常实用。


            这个多选能够封装为一个颗粒、把公共的东西抽象出来弄成一个个的颗粒,把它封装为一个控件,这个控件有自己的函数获得checkbox值和赋值等方法,还能够封装一些样式等,还在考虑怎么才干把checkbox封装到div标签中。以后再用到时仅仅须要引入这个div标签就可以,通过div标签传參控制多选。这涉及到自己定义标签怎么弄,在.NET中能够开发用户自己定义控件,那么在标签中认为也是能够开发自己定义标签库,还有类似于下拉列表框等等,都能够封装起来。

            不知道还有没有别的思路能够实现用户控件、或标签的封装?开发自己定义标签查了一下好实现。把开发jar包引入进来实现几个接口就能够定义自己的标签库了,开发自己定义标签库能够实现用户自己定义功能。方便页面上的布局,同一时候发现如今的非常多产品有关界面框架,不管界面多美观、高端大气。都是封装原始的html标签元素,封装也就意味着能够带了自己心的特性,假设有特殊需求的时候能够自己适当封装一下。

            方便别人编程、也提高了开发效率和编码的灵活性。

前端框架(二)DIV多选复选框框的封装和MySql数据库存取

标签:数据库   效率   产品   方式   列表   term   字段   jquer   效果   

热心网友 时间:2022-05-01 23:19

首先你得有个form表单,还得有个提交按钮吧,form里面有个属性是action=“你要提交的php处理页面” method=“post” ,php处理页面用$_POST['提交的name'] 如'menuMole',既然是复选框,他的name的值肯定是不一样的

热心网友 时间:2022-05-02 00:37

相同种类的checkbox 的name 改成menuMole[] 就好了(就是做为数组) 你PHP后台输出下$_POST就知道了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com