2012-01-05 14 views
5

Tôi có thành phần lưới jquery trên trang web của mình. Tôi muốn thay đổi tập tin css, nó sử dụng. Tôi đặt nó trong jj: thẻ đầu:Thay đổi chủ đề lưới jquery (vị trí ui.jqgrid.css) trong struts2

<sj:head jqueryui="true" jquerytheme="custom-theme" customBasepath="css"/> 

Và tôi thấy thẻ html này vào trang web của tôi:

<link type="text/css" href="css/custom-theme/jquery-ui.css" rel="stylesheet" id="jquery_theme_link"> 

Styles file con đường cho thành phần jquery-lưới là

<link rel="stylesheet" type="text/css" href="/appname/struts/themes/ui.jqgrid.css"> 

tôi muốn đường dẫn này giống như sau:

<link rel="stylesheet" type="text/css" href="css/custom-theme/ui.jqgrid.css"> 

Tôi có thể đặt vị trí tệp css lưới strqu jquery ở đâu?

Trả lời

1

Tôi gặp sự cố tương tự, giải pháp là ghi đè lên css sau khi tải xong.

<sjg:grid 
    ... 
    onCompleteTopics="loadCustomCss" 
    ... 
/> 

Sau đó, trong jsp của bạn

<script> 
    $.subscribe('loadCustomCss', function(event,data){ 
     $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '../css/grid.css')); 
    }); 
</script> 

đâu grid.css là css tùy chỉnh, bạn có thể sao chép các css được cung cấp bởi các plugin và điều này đặc biệt hữu ích khi bạn đã có nó được nạp như một sự phụ thuộc Maven .

1

Bạn có thể làm như sau:

<sjg:grid ... onGridCompleteTopics="myCssLoaderTopic" ....> 

Một sau đó trong các chủ đề của bạn

<script> 
    $.subscribe('loadCustomCss', function(event,data){    
     $.struts2-jquery.requireCss(cssFile, basePath); 
    }); 
</script> 

Vui lòng tham khảo: https://groups.google.com/forum/#!topic/struts2-jquery/Aurqeuwhiuo