您好,登錄后才能下訂單哦!
由于工作的一個小需求,來寫一寫這個很小,但是新手朋友可能會有些迷惑的功能
記得剛工作的時候做過一個類似的功能,但是的思路不太記得了,只記得很亂,測出各種bug。
今天來看一下這次的思路,比較適合新手朋友,沒有很多的jquery父子級關(guān)系
先看一下大概的界面
實現(xiàn)的就是點擊新增一行會新增一條空白行,點擊刪除將這行刪除,點擊保存將信息保存
校驗方面做得比較簡單,只是標(biāo)紅不讓提交
1。 先看一下 初始頁面的主要代碼
是不是很簡單,初始化的頁面 只有一條單獨的空行和兩個按鈕外加兩個隱藏域
這個小功能,唯一的迷惑可能就是增加多條后從中間刪除,會造成數(shù)據(jù)的錯亂。
在這里我是這么處理的,記錄了一個初始化的max最大值隱藏域,默認給0。然后添加一行將這個值加一,刪除不便,這樣可以保證生成的動態(tài)id唯一且比較好做默認排序的效果。
由于這個需求是在最后新增一行,所以比較簡單。 如果有同學(xué)要做在特定行下新增,除了id不重復(fù)還需要考慮一下排序的問題。
下面就看一下 新增的js代碼
以上就是新增行和刪除特定行的js,是不是很簡單。
2。新增保存操作
由于業(yè)務(wù)需求保存前做了一些校驗不詳說,只是傳遞數(shù)據(jù)
這里其實有很多辦法json,列表等等。我是比較懶。自己按自己的規(guī)則拼接了字符串來傳遞,到業(yè)務(wù)處理的地方再解析取出,僅供大家參考下
先看解析數(shù)據(jù)的代碼,將行的id傳遞進方法
保存方法沒什么好說,有一個不啟用的功能在這里處理一下,剩下就是傳遞數(shù)據(jù)去后臺處理再返回結(jié)果
剩下就是后臺入庫那些啦,很簡單對不對,然后就是如果這個功能需要修改的時候 還存在一個回顯得功能,來看一下
3。 修改回顯操作
其實上面的保存方法已經(jīng)滿足了修改的要求,那么問題只剩下一個就是回顯
這里有幾點 1。由于是共用的頁面,所以在初始化數(shù)據(jù)之前將span0的原有空行刪除
2。新循環(huán)生成的新行,id和原來的一樣,這樣在后臺取數(shù)據(jù)的時候注意下排序
3。由于id是原來保存的,而新打開頁面中我們的標(biāo)記max還是0,所以在數(shù)據(jù)加載的同時要將max算出,并放回到隱藏域中。
這樣這個小功能就基本完成啦。
歡迎大家交流,共同學(xué)習(xí),希望給新人一點啟示,高手別劈我 哈哈 。
文章為原創(chuàng) 發(fā)布在 http://techfoxbbs.com/thread-21638-1-1.html。 也歡迎大家 關(guān)注公眾號 TechFoxBBS ,一起交流學(xué)習(xí)
轉(zhuǎn)載 請標(biāo)明出處
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。