如何从jqgrid中禁用加号图标?

时间:2014-01-16 13:10:18

标签: jquery jqgrid

我想在向此页面发出请求时禁用jsp页面中的加号图标。 怎么做?

我试过这个

if ($("#errorMsgForItem").val() == "noloc") 
                    {
                        $("#add_" + myGrid[0].id).addClass('ui-state-disabled');
                        console.debug("No Item location found...");

                    }

更新:更多代码


这是一个函数(createNew),将在同一页面上调用后通过AJAX提交表单

function createNew(aDateVal){
$("#searchProductDiv").css("display","block");
     $("#itemfilterParamDiv_org").css("display","none");
$('#createNewInventoryBlock').dialog('close');
 $("#saveSubgridItem").show();

 if(aDateVal == null || aDateVal == ""){
        $("#dateValidationMsg").html("Enter date");
        $("#saveSubgridItem").hide();
      }else{
          blockPanel("centerPanel");
         $.ajax({
          url: "validationAgainstExistData.htm?date="+aDateVal+"&dateFormat="+controllerDateFormat,
          success: function(data){
            $("#errorMsgForItem").val( $.trim(data));
                if ($("#errorMsgForItem").val() == "yes") 
                {
                    $("#dateValidationMsg").hide();
                    $("#errorMsgDisplay").show();
                    $("#errorMsgDisplay").html("Inventory for the selected date already exists. Click on the inventory date to open it for edit."); 
                    $("#centerPanel").unblock();
                }else{

                    //$("#itemLocationGrid").jqGrid("navGrid", "#itemLocationGridPager", {add: false});
                    var msg =null;
                    $("#dateValidationMsg").hide();
                    $("#errorMsgDisplay").hide();
                     $("#itemLocationGridContainer").show();
                       loadItem(aDateVal,msg);
                    $("#categoryDisplayId").show();
                    $("#modifiedUserLabelId").show();
                    $("#userListDisplayTitleId").show();
                    //$('#itemLocationGrid').jqGrid().trigger('reloadGrid');
                    //$("#itemLocationGridContainer,#itemLocationGrid").jqGrid("navGrid", "#itemLocationGridPager", {add: false});

                    var myGrid = jQuery("#itemLocationGridContainer");//itemLocationGrid
                    $("#edit_" + myGrid[0].id).addClass('ui-state-disabled');
                    $("#del_" + myGrid[0].id).addClass('ui-state-disabled'); 
                    $("#add_" + myGrid[0].id).addClass('ui-state-disabled'); //nothing happening


                    $("#centerPanel").unblock();  
                       // $("#createNewInventoryBlock").dialog({autoOpen: true });
                    }
              }
        }); 
    }

}

HTML

<div id="searchProductName" style="display:none"></div>
<div id="itemLocationGridContainer" style="float:left;margin-top: 20px;display:none" >
    <p class="ui-widget" style="font-size: 12.5px;color: blue;">During editing a cell, do not drag the rows for rearranging.</p>
     <table id='itemLocationGrid'></table>
     <div id='itemLocationGridPager'></div>
     <div id ="addProduct" style="display:none;background-color:#DFEFFC;width:340px;height:auto;opacity: 0.99;filter:alpha(opacity=65);"></div>
      <div id ="productItemLocationId" title="Location "></div>
      <div style="display: none;" id="calculateItemSummariesBasedOnItemCategory"></div>
</div>

1 个答案:

答案 0 :(得分:0)

addClass('ui-state-disabled')禁用“添加”按钮而不是隐藏。您可以使用jQuery.hide来隐藏它:

var myGrid = $("#grid");

// hide Add button
$("#add_" + myGrid[0].id).hide();

我应该注意,只有在需要**动态*显示或隐藏添加按钮时才应使用上面的代码。如果您不需要该按钮,则只需使用add: false方法的navGrid选项:

// create navigator with Edit and Delete buttons, without Add button
$("#grid").jqGrid("navGrid", "#pager", {add: false});

如果你需要动态隐藏/显示一些导航按钮,你应该创建所有按钮并在需要时隐藏/显示按钮。有关详细说明使用导航按钮的详细信息,请参阅the answeranother one