2012-01-13 71 views
3

我有一個jqGrid,當我做一個搜索時,我得到一個小對話框。在頂部有一個「+」符號的添加按鈕,用於添加行以進行高級搜索。是否有可能將這個按鈕文本更改爲一個普通的老學校「添加」,而不需要入侵js庫。有沒有辦法通過編寫擴展?如此如此?如何自定義jqGrid中的添加按鈕?

<input type="button" value="+" title="Add rule" class="add-rule ui-add"> 

回答

17

方法navGrid有一些參數可以用來改變導航按鈕的外觀。我另外使用了jqGrid的toppager: true選項和navGridcloneToTop: true選項,用於使用頂級呼叫器的情況。如果一個人只需要創建一個導航按鈕相對於通話的

$grid.jqGrid('navGrid', '#pager', { 
    cloneToTop: true, 
    view: true, 
    add: true, 
    edit: true, 
    addtext: 'Add', 
    edittext: 'Edit', 
    deltext: 'Delete', 
    searchtext: 'Search', 
    refreshtext: 'Reload', 
    viewtext: 'View' 
}); 

人會看到的結果一樣

enter image description here

我用rowNum: 2的測試不僅可以減少圖片的高度。

如果我正確理解你,你想要純文本按鈕。到來自按鈕刪除圖標中的一個可以執行以下附加行

var pagerId = 'pager', gridId = $.jgrid.jqID($grid[0].id); 
$('#' + pagerId).find('.navtable span.ui-icon').remove(); 
$('#' + gridId + '_toppager').find('.navtable span.ui-icon').remove(); 

gridId將被設置爲'list'。如果網格ID可以包含meta-characters,則需要使用$.jgrid.jqID。結果將是

enter image description here

下一步將是確定右側和左側的填充或按鈕的保證金,以顯示文本更好:

.ui-jqgrid .ui-jqgrid-pager .navtable .ui-pg-div, 
.ui-jqgrid .ui-jqgrid-toppager .navtable .ui-pg-div { 
    padding-right: 3px; 
    padding-left: 3px; 
} 

結果將提高到以下

enter image description here

現在我們需要解決的尋呼機的位置。我們可以尊重

$('#' + pagerId + '_left').width($('#' + pagerId + ' .navtable').width()); 
$('#' + gridId + '_toppager_left').width($('#' + gridId + '_toppager .navtable').width()); 
$('#' + pagerId + '_center')[0].style.width=''; 
$('#' + gridId + '_toppager_center')[0].style.width=''; 

做到這一點,有以下結果

enter image description here

$('#' + pagerId + '_right').remove(); 
$('#' + gridId + '_toppager_right').remove(); 

哪些地方尋呼機中刪除尋呼機的另外未使用的右側部分其餘的地方在尋呼機中間:

enter image description here

在我看來,它主要是味道的問題,看起來更好。您可以看到由此產生的演示here

或者你可以使用圖標的文本,但放置文本的圖標。你可以看到在the demo 細節將產生以下結果:

enter image description here

修訂:要自定義「添加規則」或「添加組」按鈕,您可以使用afterRedraw選項:

afterRedraw: function() { 
    $('input.add-rule',this).val('Add new rule'); 
    $('input.add-group',this).val('Add new rule group'); 
} 

The demo使用該選項產生搜索對話框,如下所示:

enter image description here

(如果使用multipleGroup: true,並且使用multipleSearch: true,則存在「添加規則」按鈕),按鈕「添加組」存在。

更新2:一是可以提高搜索對話框中的知名度,如果人會使用jQuery UI按鈕:

afterRedraw: function() { 
    $('input.add-rule',this).val('Add new rule').button(); 
    $('input.add-group',this).val('Add new group or rules').button(); 
    $('input.delete-rule',this).val('Delete rule').button(); 
    $('input.delete-group',this).val('Delete group').button(); 
} 

結果對話框可以像下面

enter image description here

+0

謝謝爲你的答案。我的問題是當用戶點擊如圖所示的搜索按鈕時,它會彈出一個框。搜索條件的添加按鈕是+號。我想改變這一點。我該怎麼做呢?你的回答並不能解釋這一點...... – chugh97 2012-01-15 00:35:24

+0

@ chugh97:你應該更明確地提出你的問題。問題的標題對搜索對話沒有任何說明。 「+」按鈕是「添加」新行按鈕。你原來的問題並不複雜。你可以使用[afterRedraw](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:singe_searching#options)選項,形式爲'afterRedraw:function(){$('input.add-rule ',this).val('添加新規則');' – Oleg 2012-01-15 00:54:06

+0

@ chugh97:我更新了我的答案:參見「更新」部分。 – Oleg 2012-01-15 01:24:02

相關問題