EasyUI在Panel上動(dòng)態(tài)添加LinkButton按鈕
在最近做的一個(gè)將原來的舊系統(tǒng)翻新改造的項(xiàng)目中,為了在個(gè)別展示位置與原系統(tǒng)一直,研究了一下Easyui的panel面板,在panel的面板中動(dòng)態(tài)添加Linkbuton按鈕的編輯方法,在這里做個(gè)記錄免得自己以后忘了,也為有需求的人指明一條道,代碼比較亂,還請(qǐng)大家多多見諒,能實(shí)現(xiàn)就行啦,要求不高喲。
言歸正傳,需求如下圖。

看似簡(jiǎn)單,往panel的title中循環(huán)添加linkbutton標(biāo)簽不就得了,其實(shí)還有很多問題需要處理,簡(jiǎn)單描述一下我的思路和步驟。
1、panel的title屬性接收類型為字符串類型,所以我想到了在后臺(tái)獲取數(shù)據(jù)后拼接成字符串然后為title賦值,
2、當(dāng)我通過異步的方式獲取到數(shù)據(jù)后想講獲取到的值取出來然后在另外的在后續(xù)的方法中使用時(shí),發(fā)現(xiàn)獲取不到數(shù)據(jù);問題節(jié)點(diǎn),異步;變更為同步獲取數(shù),問題解決;
3、將獲取到的數(shù)據(jù)動(dòng)態(tài)添加到panel的title中后,檢查發(fā)現(xiàn)數(shù)據(jù)已經(jīng)添加上去了,但是沒有效果;問題點(diǎn):渲染問題,解決方法,panel中只是定義<a>標(biāo)簽,不附加easyui效果,
單獨(dú)添加easyui效果。ok,此時(shí)問題解決了。
好了看似簡(jiǎn)單其中包含了我在實(shí)現(xiàn)前大量的調(diào)試與檢查操作,還請(qǐng)能夠看到的高人可以的話,多給小弟寫指點(diǎn),不多說,Show Code Time
//頁面加載時(shí)onload事件
$(function () {
//開發(fā)方式為Asp.net MVC 利用訪問頁面獲取訪問控制器名稱
var controllerName = "@ViewContext.RouteData.Values["controller"].ToString().ToLower()";
LoadDataAndColumnsName(controllerName);
LoadButtonInfo(controllerName);
})
var toolbar = [];
//獲取標(biāo)題數(shù)據(jù)
function LoadDataAndColumnsName(cname) {
$.ajax({
type: "post",
url: '/' + cname.toString() + '/GetCommand',
contentType: "application/json;charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
Callback(data);
}, error: function (data) {
alert("error");
}
})
}
//將回調(diào)函數(shù)中的數(shù)據(jù)放到Panel的title中
function Callback(json) {
var data = json;
toolbar = data.toolbar;
var buttons = "<span class='splitcss'>|</span><span class='desc'>Sim卡設(shè)置</span><span class='splitcss'>|</span>";
$.each(data.toolbar, function (i, item) {
buttons += "<a class='panel_" + item.btnName + "' id='" + item.btnName + "' style='margin-top:-5px;' onclick='OperAction(" + item.btnName + ");'></a>";
})
//加載Panel
$("#contentDiv").panel({
title: buttons,
height: $(window).height()
})
}
//在Panel的title屬性中渲染linkbutton按鈕
function LoadButtonInfo(cname) {
$.each(toolbar, function (i, item) {
//這樣加載按鈕的方案來自網(wǎng)絡(luò),找不到連接了,在此注明感謝下
$("#contentDiv").panel('header').find('a.panel_' + item.btnName + '').linkbutton({
iconCls: 'icon-' + item.btnIcon + '',
text: item.btnCaption,
plain: 'true'
})
$('#' + item.btnName + '').bind('click', function () {
OperAction(item.btnName, cname);
})
})
}
好了,這樣應(yīng)該就可以顯示了,我這里是可以了,結(jié)實(shí)下OperAction函數(shù)是處理linkbutton點(diǎn)擊時(shí)觸發(fā)的函數(shù)去完成相應(yīng)操作的。就到這里了,不喜勿噴,求高人簡(jiǎn)化指點(diǎn)。
- jQuery EasyUI菜單與按鈕詳解
- EasyUI的DataGrid每行數(shù)據(jù)添加操作按鈕的實(shí)現(xiàn)代碼
- Easyui Datagrid自定義按鈕列(最后面的操作列)
- jQuery EasyUI API 中文文檔 - MenuButton菜單按鈕使用介紹
- easyui datagrid 表格中操作欄 按鈕圖標(biāo)不顯示的解決方法
- 輕松學(xué)習(xí)jQuery插件EasyUI EasyUI創(chuàng)建菜單與按鈕
- Easyui使用Dialog行內(nèi)按鈕布局的實(shí)例
- 給easyui的datebox控件添加清空按鈕的實(shí)現(xiàn)方法
- Jquery Easyui分割按鈕組件SplitButton使用詳解(17)
- jEasyUI 創(chuàng)建分割按鈕的實(shí)現(xiàn)示例
相關(guān)文章
jQuery實(shí)現(xiàn)簡(jiǎn)易的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)簡(jiǎn)易的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
jquery Form輕松實(shí)現(xiàn)文件上傳
這篇文章主要介紹了jquery Form輕松實(shí)現(xiàn)文件上傳的相關(guān)過程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
為jquery的ajax請(qǐng)求添加超時(shí)timeout時(shí)間的操作方法
這篇文章主要介紹了為jquery的ajax請(qǐng)求添加超時(shí)timeout時(shí)間的操作方法,文中通過一段簡(jiǎn)單的代碼給大家介紹jquery ajax超時(shí)設(shè)置方法,感興趣的朋友跟隨腳本之家小編一起看看吧2018-09-09
批量修改標(biāo)簽css樣式以input標(biāo)簽為例
本節(jié)主要介紹了jquery如何批量修改標(biāo)簽css樣式以input標(biāo)簽為例,需要的朋友可以參考下2014-07-07
Jquery為DIV添加click事件的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄狫query為DIV添加click事件的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06

