项目中我做修改用户个人资料的时候,有一个需求是帮助人员的帮助类型如图下所示:

当初想如果是asp.net控件的话应该很简单实现,如果不是基于easyUI框架那就太简单了,现在是受框架的限制与是前端html控件,所以还是会稍微多转化一下,

前提

这个是个人资料的修改,需要如果用户已经选择某项的话,需要加载时打上对勾:如图所示

思路

对于数据的存储考虑过可以存放到多个字段里面,这样操作起来方便,现在通过查询资料是可以把这些只要是选中的某项都可以拼接成字符串存入到数据库中的一个字段中,读取的时候需要先把这些信息读取出来,再通过对字符串的拆分与读取,判断是否某些值被选择,这样大致的思路就有了,现在我们来实战:

实现过程

首先定义的是一个隐藏空间为了存取数据向后台传送数据

<input id="zonestr" name="zonestr" type="text" style="display: none" />

由于下面的复选框度在一个div里面存放,所以调用的是对div的点击事件:

<div id="div1" style="border: 1px solid #D1D1D1" onclick="javascript:GetZone()">

接下来是如何把要选定的某项存入数据库中

<script>
function GetZone() { //获取input所在div的对象
var ob = document.getElementById("div1"); //获取div中所用的IUPUT控件集合
var col = div1.getElementsByTagName("INPUT");
//定义一个变量并初始化为空
var str = "";
var count = 0; //循环遍历,判断INPUT是否选中
for (var i = 0 ; i < col.length; i++) {
if (col[i].checked == true) {
count++;
if (count == 1) {//当是一个值得时候,直接把选中的值赋给字符串
str += col[i].value;
}
else {
str += "/" + col[i].value;//多个被选中的时候,需要把选定的值不断的拼接
}
//str+=col[i].value+"/";
}
}
document.getElementById("zonestr").value = str;//把选择完后的字符串给一个隐藏空间以便向后台传送 }
</script>

这样通过提交表单的方法就可以把界面上的数据提交到后台,可以轻松的写入到数据库中了

核心内容:

对如何读取并判断数据并打上对勾呢?由于是基于easyui框架,需要通过Json数据的传送

 <script>
$('#sheyuan').form('submit', {
url: 'ShowMember.ashx',//调用的一般处理程序
onSubmit: function () { },
dataType: "json",
success: function (data) {//返回的数据在data中
var NowLivecountry = eval("(" + data + ")").NowLivecountry//json为接收的后台返回的数据,拿出我存放界面上值得字段; var list = NowLivecountry.split('/');//把数据给拆分并放到list里面 //获取input所在div的对象
var ob = document.getElementById("div1"); //获取div中所用的IUPUT控件集合
var col = div1.getElementsByTagName("INPUT"); var str = "";
var count = 0;
//通过页面上的循环获取的值与后台传送过来放到list中的数据一一比对,如果和界面的内容一致的就可以选择,让其打上对勾
for (var obj in list) {
for (i = 0; i < col.length; i++) {//界面上input中的值 for (j = 0; j <= list.length; j++)//list中的值
{ if (col[i].value == list[j])//比较是否内容相等,如果一致就在界面上打上对勾
{
col[i].checked = true//是combox选中,打上对勾 }
}
} }
}
});

Json中返回的数据格式:

存入list中的数据结构,对于这样的内容如果理解了,整体理解很简单了。

总结

   整个实现功能接触了:easyui架构中页面如何加载数据、如何从json数据中拿到某个字段值的内容、把json数据存入list、通过小的for循环来实现数据的对比,实现功能主要来源于静下心来多多的思考,这方面自己接下来多多的努力锻炼。

基于easyui框架中input 类型的checkbox拼接成字符串存入数据库和读取选中---善良公社项目的更多相关文章

  1. jquery中选择checkbox拼接成字符串,然后到后台拆分取值

    jquery中选择checkbox拼接成字符串,然后到后台拆分取值 js中的代码 $("#btn").click(function(){ var chenked=$("i ...

  2. js对象数组中的某属性值 拼接成字符串

    js对象数组中的某属性值 拼接成字符串 var objs=[ {id:1,name:'张三'}, {id:2,name:'李四'}, {id:3,name:'王五'}, {id:4,name:'赵六' ...

  3. 快速开发框架,及库存管理系统,基于easyui框架和C#语言MVC、EntityFrameWork、T4模板技术。

    快速开发框架,及库存管理系统,基于easyui框架和C#语言MVC.EntityFrameWork.T4模板技术. 产品界面如下图所示: 源码结构: 开放全部源码,如有需要请联系,QQ:1107141 ...

  4. 将前台input中的数据异步传到后台并存入数据库

    将前台input中的数据异步传到后台并存入数据库 先看图: 利用ajax异步交互数据,并不是以json数组的形式将数据传到后台,而是利用字符数组的形式将其传到后台.动态新增每一行数据,将每一列对应的数 ...

  5. .join() ----- 是把列表中的元素用 "xx".join() 拼接成字符串

    li = ["alex", "eric", "rain"] str1 = "_".join(li) # 是把列表中的元素 ...

  6. SQLserver将查询的字段中的数据 拼接成字符串用逗号隔开

    ,,'') 将查询的字段中的数据 拼接成字符串用逗号隔开

  7. Date、Time类型拼接成字符串

    Date.Time类型拼接成字符串 语言用的是kotlin,和Java类似 var time = "" val sdf1 = SimpleDateFormat("yyyy ...

  8. jQuery easyUI框架中经常出现的问题

    相信开发者对于我们jquery来说都不会陌生吧,jquery为我们的开发提供了很多各式各样的库,满足各种开发的需求,其中我们知道的有轻量级的,但是也有一些基于富客服端的一些重量级库,顾名思义,当我们在 ...

  9. easyui框架中关于dialog自带关闭事件的使用

    easyui是一个开源的第三方控件库,虽然使用比较方便,但其中有些事件和样式会与其他的控件或者框架形成冲突. 今天谈一下easyui 中dialog这个控件(对话框) easyui dialog一般在 ...

随机推荐

  1. 修改原生单选框样式(vue单选组件)

    一.效果如图 二.实现 修改单选样式 //html <div class="radio-wrap"> <input type="radio" ...

  2. 正则替换replace中$1的用法以及常用正则

    一.repalce定义 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. stringObject.replace(regexp/substr,replacement)参数一 ...

  3. sessionStorage 、localStorage 和 cookie

    localStorage 和 sessionStorage HTML5 提供了两种在客户端存储数据的新方法:localStorage 和 sessionStorage: 两者都是仅在客户端(即浏览器) ...

  4. ubuntu14.04 64位 安装H3C iNode客户端

    环境: OS: ubuntu14.04LTS 64位 iNode:  iNode2.40-R0162 for linux(iNode只有32位的,而且是很久以前的版本) 安装方法: 第一种: 主要参考 ...

  5. 记录一些移动端H5,小程序视觉还原问题及方法

    前端,特别是移动端如果对视觉还原要求比较高的时候.功能测试和性能测试完成之后.UI真的是一个像素一个像素的给你抠出来哪里还原不到位 之前项目要求还原度要达到98%以上.所以每到视觉还原的时候真的是挺痛 ...

  6. android 原生camera——设置模块修改

    , 此篇博客是记一次客户需求修改,从上周五到现在正好一周时间,期间的各种酸爽,就不说了,还是来看大家关注的技术问题吧. 首先看下以前效果和修改后的效果: 修改前:修改后: 不知道有没有看明白,我在简单 ...

  7. Scala:访问修饰符、运算符和循环

    http://blog.csdn.net/pipisorry/article/details/52902234 Scala 访问修饰符 Scala 访问修饰符基本和Java的一样,分别有:privat ...

  8. 手把手图文教你从Eclipse项目迁移Android Studio

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52937391 从Android的 ...

  9. Swagger API接口管理

    介绍         Swagger API框架,用于管理项目中API接口,属当前最流行的API接口管理工具. Swagger功能强大,UI界面漂亮,支持在线测试等!         Swagger包 ...

  10. C++ 中const作用

    一.对const与#define的特点及区别的理解 #define只是用来做文本替换的,#define常量的生命周期止于编译期,它存在于程序的代码段,在实际程序中它只是一个常数,一个命令中的参数,并没 ...