1. 程式人生 > >基於easyui框架中input 型別的checkbox拼接成字串存入資料庫和讀取選中---善良公社專案

基於easyui框架中input 型別的checkbox拼接成字串存入資料庫和讀取選中---善良公社專案


       專案中我做修改使用者個人資料的時候,有一個需求是幫助人員的幫助型別如圖下所示:

       當初想如果是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拼接字串存入資料庫讀取選中---善良公社專案

       專案中我做修改使用者個人資料的時候,有一個需求是幫助人員的幫助型別如圖下所示:        當初想如果是asp.net控制元件的話應該很簡單實現,如果不是基於easyUI框架那

Jquery EasyUI +Ajax +Json +一般處理程式 實現資料的前臺與後臺的互動 --- 善良公社專案

經過上一篇部落格,本節主要是來看實現的功能是後臺的資料通過json資料傳過來,前臺修改的資料再傳回資料庫之後頁面再次更新table中的資料;  圖示: 例項:前臺的程式碼 <%--表格顯示區--%> <table id="tt" " ti

NET快取框架CacheManager在混合式開發框架的應用(1)-CacheManager的介紹使用 基於C#的MongoDB資料庫開發應用(4)--Redis的安裝及使用

在我們開發的很多分散式專案裡面(如基於WCF服務、Web API服務方式),由於資料提供涉及到資料庫的相關操作,如果客戶端的併發數量超過一定的數量,那麼資料庫的請求處理則以爆發式增長,如果資料庫伺服器無法快速處理這些併發請求,那麼將會增加客戶端的請求時間,嚴重者可能導致資料庫服務或者應用服務直接癱瘓。快取方案

.NET快取框架CacheManager在混合式開發框架的應用(1)-CacheManager的介紹使用 基於C#的MongoDB資料庫開發應用(4)--Redis的安裝及使用

在我們開發的很多分散式專案裡面(如基於WCF服務、Web API服務方式),由於資料提供涉及到資料庫的相關操作,如果客戶端的併發數量超過一定的數量,那麼資料庫的請求處理則以爆發式增長,如果資料庫伺服器無法快速處理這些併發請求,那麼將會增加客戶端的請求時間,嚴重者可能導致資料庫服務或者應用服務直接癱瘓。快取方案

基於Easyui框架的datagrid繫結資料,新增,修改,刪除方法(一)

基於Easyui框架的datagrid繫結資料,新增,修改,刪除方法 第一種:https://blog.csdn.net/u012949335/article/details/81943387 第二種:https://blog.csdn.net/u012949335/arti

基於Easyui框架的datagrid繫結資料,新增,修改,刪除方法(三)

基於Easyui框架的datagrid繫結資料,新增,修改,刪除方法 第一種:https://blog.csdn.net/u012949335/article/details/81943387 第二種:https://blog.csdn.net/u012949335/arti

【開發筆記】基於EasyUI框架,實現table列的動態繫結

使用easyUI從後臺獲取欄位,前臺動態繫結 如下圖效果,表頭小區動態載入,如果沒有賣出商品,就不顯示,並且表頭下方分欄顯示 後臺使用c#,Java程式碼也可以參考 不多說,直接上程式碼 html <table id="PayReport" class="

java使用逗號將集合拼接字串

前言 今天介紹一個拼接字串的小技巧,比較簡單適用! 日常開發中常常會碰到需要用逗號將集合中的String資料或者物件中的某個String成員拼接成一個完整的字串(末尾沒有逗號,中間用逗號隔開),有的

把請求所有引數排序,並按照“引數=引數值”的模式用“&”字元拼接字串

 public static String createLinkString(Map<String, String> params) {         List<String> keys = new ArrayList<String>(

js陣列拼接字串

在本例中,我們將使用分隔符來分隔陣列中的元素: <script type="text/javascript"> var arr = new Array(3) arr[0] = "Geo

SqlServerOracle從多行記錄(資料集)查詢結果並拼接一個字串的SQL語句(縱表資料轉拼接的文字)

使用情景: 例如:需要從學生成績表中,查詢分數大於95分的所有學生編號,用逗號分隔成一個字串。 準備測試資料: create table score (id int,score int) insert into score values(1,90) insert into

java 提取json格式的某一id值,拼接字串

1、檔案為json格式,提取某一個id的值 [{ “name”: “zhansam”, “id”: 123 }, { “name”: “lisi”, “id”: 456 }, { “na

把以前ssm框架的spring版本改5.0.3出現 NoClassDefFoundError(jackson)異常

本來想試試最新版本的spring5.0.3,結果出現如下的bug Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter

將頁面所有的checkbox單選得

name checked div each 頁面 style ont check ext $(function () { var allBox = $(":checkbox"); allBox.click(function () { allBox.removeAttr

ABP框架簡訊傳送處理,包括阿里雲簡訊普通簡訊商的簡訊傳送整合

在一般的系統中,往往也有簡訊模組的需求,如動態密碼的登入,系統密碼的找回,以及為了獲取使用者手機號碼的簡訊確認等等,在ABP框架中,本身提供了對郵件、簡訊的基礎支援,那麼只需要根據自己的情況實現對應的介面即可。本篇隨筆介紹ABP框架中簡訊傳送處理,包括阿里雲簡訊和普通簡訊商的簡訊傳送整合。 1、基於第三方阿里

字串存入資料庫date型別欄位

有時候為了計算方便等原因需要將時間以date格式存入資料庫,但是前臺傳過來的資料型別都是字串,如果將字串直接插入date型別的欄位中會拋:ORA-01861: 文字與格式字串不匹配。 前臺頁面有一個表單,如下所示: <form action="......" method="get"&

寫程式碼:利用下劃線將列表的每個元素拼接字串,li=["alex","eric","rain"]

1 #encoding: utf-8 2 3 # 作業:請用程式碼實現:利用下劃線將列表的每個元素拼接成字串,li=["alex","eric","rain"] 4 5 li = ["alex", "eric", "rain"] 6 a = li[0] 7 8 for i in l

sqlserver中將查詢結果拼接字串

#for xml path(param)--將查詢結果以xml格式輸出 1 select id,name from table1 for xml path 2 --id和name為table1的真實欄位 - path後面沒有引數時,且查詢的欄位為真實存在或取了別名的的(即查

SQL Server利用Stuff+for xml path 將列值快速的拼接字串及建立拼接檢視

典型用法: 將查詢出的列值轉換成字串賦值給變數 以下程式碼演示所有部門ID為A300的員工姓名查詢出來並用逗號串聯成一個字串,去除開頭的逗號,賦值給變數 declare @ss nvarchar(1000) select @ss =( stuff( (select ‘,’ + Emp_CNa

SQL Server 通過SQL語句將查詢結果集拼接字串

首先,我們要了解一下兩個SQL語法 1. FOR XML PATH FOR XML PATH 可以將查詢結果根據行輸出成XML各式 SELECT USER_ID FROM test FOR XML PATH 表結構: 執行結果: <row>