因为最近在为一个SSH的系统做权限管理,前端用到了struts2 jquery plugin,dialog里面的button是通过插件生成,没有id和name,所以想了个办法去实现根据权限隐藏和显示button
//这是dialog的代码
<sj:dialog
id="infoDialog"
title="info"
buttons="{
'Submit': function(){
submit();
$(this).dialog('close');
},
'Cancel': function(){
$(this).dialog('close');
}
}"
autoOpen="false"
modal="true"
onOpenTopics="setInfoDialog"//dialog打开的时候触发这个方法,通过这个方法实现隐藏button
>
<span>This is test dialog.</span>
</sj:dialog>
//实现隐藏dialog中的button的代码
$(function(){
$.subscribe('setInfoDialog', function(event, data){
//可以根据权限或者条件隐藏,此处注释了条件判断
//if(permission == null){
//隐藏infoDialog里面的"Sumbit" button
$('#infoDialog').next('.ui-dialog-buttonpane').find('button :contains("Submit")').parent().hide();
//}
});
});