如何在flexigrid按钮中添加属性?

时间:2013-04-24 18:42:18

标签: button custom-attributes flexigrid

我正在使用一个项目,我必须使用Flexigrid.js;但是我在插件中遗漏了很多东西。就像我想要禁用一些我最初不想启用的按钮。所以,我做不到。

所以,我更新了flexigrid.js并为每个人制作了这个。

希望这会有所帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

如果我们想添加标题,禁用等额外属性怎么做?

答案:我已经更新了我的flexigrid.js。我已经更改了之前的js并将fbutton div> span替换为输入标记。

更改以下代码

           btnDiv.innerHTML = ("<div><span>") + (btn.hidename ? "&nbsp;" : btn.name) + ("</span></div>");
            if (btn.bclass) $('span', btnDiv).addClass(btn.bclass).css({
                paddingLeft: 20
            });
            if (btn.bimage) // if bimage defined, use its string as an image url for this buttons style (RS)
                $('span',btnDiv).css( 'background', 'url('+btn.bimage+') no-repeat center left' );
                $('span',btnDiv).css( 'paddingLeft', 20 );

            if (btn.tooltip) // add title if exists (RS)
                $('span',btnDiv)[0].title = btn.tooltip;

    btnDiv.innerHTML = ("<input type='button' value='"+ (btn.hidename ? "&nbsp;" : btn.name)+"' name='"+ (btn.hidename ? "&nbsp;" : btn.name)+"'/>") ;
            if (btn.bclass) $('input', btnDiv).addClass(btn.bclass).css({
                paddingLeft: 20
            });
            if (btn.bimage) // if bimage defined, use its string as an image url for this buttons style (RS)
                $('input',btnDiv).css( 'background', 'url('+btn.bimage+') no-repeat center left' );
            $('span',btnDiv).css( 'paddingLeft', 20 );

            if (btn.tooltip) // add title if exists (RS)
                $('input',btnDiv)[0].title = btn.tooltip;

然后,检查属性属性是否存在,并设置属性

//checking attribute property is available or not
//Start
  if (btn.attribute) {   
    var attributes = btn.attribute; //getting the attributes 
    for(var key in attributes){
        if(key!="style" && key!="disable")  
            $('input',btnDiv).attr(key,attributes[key]);
        else if(key=="disable" && attributes[key]){
            $('input',btnDiv).attr("disabled","disable");
        }
        else if(key=="style"){ //getting style value in css
            for(var style in attributes[key]){
                $('input',btnDiv).css(style,attributes[key][style]);
            }
        }
    }     
}
//End

现在更改输入的CSS。

.flexigrid div.fbutton input
    {
        float: left;
        display: block;
        padding: 3px;
        border : none;
    }

完成工作。现在在按钮中设置属性属性。

示例:

buttons : [
                {name: 'Add', bclass: 'add', onpress : test, attribute: {title:"add",disable:true,style:{'border':'1px solid black;'}}}
                ],

如果发现任何错误,请回复我。

谢谢