0

我正在处理一个必须使用 Flexigrid.js 的项目;但是我发现插件中缺少很多东西。比如我想禁用一些我最初不想启用的按钮。所以,我不能那样做。

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

希望这会有所帮助。

谢谢

4

1 回答 1

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;'}}}
                ],

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

谢谢

于 2013-04-24T18:42:17.917 回答