最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Bootstrap Table 在指定列中添加下拉框控件并獲取所選值

 更新時間:2017年07月31日 08:54:07   作者:Bboy-AJ  
通過 bootstrap-table 的Column 配置項中的formatter,將獲取到的數(shù)據(jù)轉(zhuǎn)換為包含數(shù)據(jù)的 select 控件。然后根據(jù)用戶選擇項更新對應(yīng)單元格數(shù)據(jù),最后通過getallselection方法獲取所選行數(shù)據(jù)

背景

最近在使用Bootstrap table ,有一個在某一列添加一個下拉列表,并且通過 “getAllSelections”方法獲取所選行的需求,在實現(xiàn)這個功能的時,走了一些彎路,遇到了一些坑。所以今天總結(jié)出來,既是自己的學習,也分享給大家,希望能夠有些幫助。

如何解決

添加這個下拉列表有以下兩種方法:

  • 利用Column options 中的 formatter 將數(shù)據(jù)轉(zhuǎn)換成下拉列表的形式
  • 使用bootstrap-table拓展中的editable插件

這次主要介紹第一種,基本的思路為:首先通過 bootstrap-table 的Column 配置項中的formatter,將獲取到的數(shù)據(jù)轉(zhuǎn)換為包含數(shù)據(jù)的 select 控件。然后根據(jù)用戶選擇項更新對應(yīng)單元格數(shù)據(jù),最后通過getallselection方法獲取所選行數(shù)據(jù)。

formatter,其配置項為function,有三個參數(shù):(value,row,index)

formatter: setSelect
function setSelect(value, row, index) 
{
  var strHtml = "";
  if (value == "Item 1") 
  {
    strHtml = "<select class='ss'><option value='Item 1' selected='selected'>Item 1</option><option value='Item 2'>Item 2</option></select>";
   } 
   else 
   {
    strHtml = "<select class='ss'><option value='Item 1' >Item 1</option><option value='Item 2' selected='selected'>Item 2</option></select>";
   }
   return strHtml;
}

到這里,下拉列表已經(jīng)可以顯示出來了,但是如果直接使用 getallselection 方法獲取所選內(nèi)容會有問題:獲取到的數(shù)據(jù)是默認表格初始化加載的內(nèi)容,并不是重新選擇的內(nèi)容。

  bootstrap-table是一個jQuery插件,直接在html上面修改是獲取不到的,要修改需要通過它自己的方法。bootstrap-table 在Methods 中提供了一個updateCell的方法。

updateCell ,包含了三個參數(shù)(index,field,value),在某一行的某一列更新value。

$('#table').bootstrapTable('updateCell', {
  index: indexSelected,
  field: 'name',
  value: valueSelected
 })

events

完成了下拉列表的顯示,有了更新單元格值的方法,還需要做的是為下拉列表的選擇綁定事件,實現(xiàn)下拉列表選擇->改變單元格值。

我們可以在select元素上綁定onchange事件,或者使用jquery的change 事件。

$(".ss").change(function() {
 var indexSelected = $(this).parent().parent()[0].rowIndex - 1;
 var valueSelected = $(this).children('option:selected').val();
 $('#table').bootstrapTable('updateCell', {
  index: indexSelected,
  field: 'name',
  value: valueSelected
 })
});

但是經(jīng)過測試,發(fā)現(xiàn)$(“.ss”).change()只是在頁面加載后第一次選擇可以觸發(fā),后來在bootstrap-table的文檔中發(fā)現(xiàn)了events項,可以監(jiān)聽單元格事件,和formatter 配合著用。

events: {'change .ss': function (e, value, row, index) {}};
//value是當前單元格的值,row是當前行,index是當前行的索引值
  • change 傳遞的是jQuery事件
  • .ss 是jQuery的類選擇器

上面是在JSFiddle做的一個小Demo,有源碼和顯示效果,可以參考一下。

小結(jié)

有的時候,我們會遇到一個別人沒有遇到過的問題,并沒有在網(wǎng)上找到直接的解決方案。那么一定要去關(guān)注他的官方文檔,甚至可以直接聯(lián)系作者。

還有以bootstrap-table來說,它本身是一個jQuery插件,如果理解了一個jQuery插件具體是如何工作的,對于解決問題會是非常有幫助的。

以上所述是小編給大家介紹的Bootstrap Table 在指定列中添加下拉框控件并獲取所選值,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • JS實現(xiàn)可控制的進度條

    JS實現(xiàn)可控制的進度條

    這篇文章主要為大家詳細介紹了JS實現(xiàn)可控制的進度條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • JavaScript實現(xiàn)搜索的數(shù)據(jù)顯示

    JavaScript實現(xiàn)搜索的數(shù)據(jù)顯示

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)搜索的數(shù)據(jù)顯示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 微信小程序音樂播放器開發(fā)

    微信小程序音樂播放器開發(fā)

    這篇文章主要為大家詳細介紹了微信小程序音樂播放器開發(fā),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • js實現(xiàn)可得到不同顏色值的顏色選擇器實例

    js實現(xiàn)可得到不同顏色值的顏色選擇器實例

    這篇文章主要介紹了js實現(xiàn)可得到不同顏色值的顏色選擇器,實例分析了javascript顏色操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • 深入理解JavaScript 中的執(zhí)行上下文和執(zhí)行棧

    深入理解JavaScript 中的執(zhí)行上下文和執(zhí)行棧

    這篇文章主要介紹了JavaScript 中的執(zhí)行上下文和執(zhí)行棧的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-10-10
  • 微信小程序?qū)崿F(xiàn)頁面浮動導航

    微信小程序?qū)崿F(xiàn)頁面浮動導航

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)頁面浮動導航,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • CKeditor4 字體顏色功能配置方法教程

    CKeditor4 字體顏色功能配置方法教程

    這篇文章主要介紹了CKeditor4 字體顏色功能配置方法,結(jié)合圖文與實例的形式分析了CKeditor4 添加字體顏色擴展功能的相關(guān)實現(xiàn)步驟與操作技巧,需要的朋友可以參考下
    2019-06-06
  • 小程序獲取周圍IBeacon設(shè)備的方法

    小程序獲取周圍IBeacon設(shè)備的方法

    這篇文章主要為大家詳細介紹了小程序獲取周圍IBeacon設(shè)備的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 手機端轉(zhuǎn)盤抽獎代碼分享

    手機端轉(zhuǎn)盤抽獎代碼分享

    轉(zhuǎn)盤,也有一種說法叫抽獎轉(zhuǎn)盤,大體上是由一塊圓形的面板上面有很多的獎項設(shè)置,在圓形面板的前面,還有一根指針是固定的,下面,小編給大家分享手機端轉(zhuǎn)盤抽獎,需要的朋友可以參考下
    2015-09-09
  • JavaScript中事件委托的示例詳解

    JavaScript中事件委托的示例詳解

    所謂事件委托,就是將原本應(yīng)該在當前元素綁定的事件,放到它的祖先元素上,讓祖先元素來委托處理。今天我們來認識一下JS中的事件委托
    2022-07-07

最新評論

凤山市| 绍兴市| 云浮市| 延吉市| 海门市| 宜黄县| 兰溪市| 布尔津县| 扬州市| 金秀| 宜黄县| 田东县| 常州市| 佛坪县| 宁河县| 名山县| 民丰县| 彩票| 庆云县| 西华县| 肃南| 乡宁县| 巴林右旗| 汝城县| 时尚| 房山区| 三都| 扬中市| 广灵县| 南开区| 象山县| 奎屯市| 永州市| 新昌县| 红桥区| 斗六市| 孝昌县| 平阴县| 扶风县| 扬中市| 台南县|