2012-11-24 10 views
10

Hi guys đôi khi tôi đã không nhận được một số điều nhỏ dễ dàng. Hôm nay vấn đề của tôi là tôi đang sử dụng JQgrid trong đó tôi đã sử dụng thanh công cụ bộ lọc để tìm kiếm. của nó làm việc tốt nhưng những gì tôi cần là tìm kiếm chỉ làm với trường hợp nhạy cảm. EX: "A" nếu tôi hiển thị kết quả Antony Nhưng nếu tôi cung cấp "a", nó không hiển thị bất kỳ điều gì làm cách nào để làm cho nó trở nên nhạy cảm. Ở đây mã của tôiLàm thế nào để làm cho thanh công cụ bộ lọc trong trường hợp JQGrid không nhạy cảm và đặt một trình giữ chỗ trong đó?

<script type="text/javascript"> 
$(document).ready(function() { 
    var lastsel3; 
    var cl; 
    var a = new Date(); 
    var QColName = a.getFullYear(); 
    var Q4ColName = (a.getFullYear()) + 1; 
    var json_string = document.getElementById("hdntxt").value; 

    if (json_string.length > 0) { 
     var search_result = $.parseJSON(json_string); 
    } 
    jQuery("#gvLockHistory").jqGrid({ 
     contentType: "application/json; charset=utf-8", 
     height: 'auto', 
     width: '480', 
     gridview: true, 
     datatype: "local", 
     data: search_result, 
     colNames: ['Type', 'Month', 'Action'], 
     colModel: [ 
     { name: 'LockType', index: 'LockType', editable: false, sortable: true, align: 'center',width:158 }, 
     { name: 'MonthYearStringValue', index: 'MonthYearStringValue', editable: false, sortable: false, align: 'center', width: 157 }, 
     { name: 'IsActive', index: 'IsActive', editable: true, align: 'center', sortable: false, search: false, width: 150 } 
     ], 
     rowNum: 8, 
     pager: '#pager', 
     rowList: [8, 10, 20, 30], 
     multipleSearch: true, 
     multipleGroup: true, 
     shrinkToFit: false, 
     viewrecords: true, 
     caseSensitive: false, 
     sortorder: "desc", 
     //editurl: "server.php", 
     gridComplete: function() { 
      var ids = jQuery("#gvLockHistory").jqGrid('getDataIDs'); 
      for (var i = 0; i < ids.length; i++) { 
       cl = ids[i]; 
       //be = "<input class='btn btn-mini' type='button' value='Unlock' onclick=\"unlock('" + cl + "');\" />"; 
       be = "<input class='btn btn-mini' type='button' value='Unlock' onclick=\"unlock('" + cl + "');\" />"; 
       jQuery("#gvLockHistory").jqGrid('setRowData', ids[i], { IsActive: be }); 

      } 
     } 
    }); 

Đây là tôi đã tìm kiếm trong net để làm cho trường hợp không nhạy cảm nhưng nó không làm việc

$("#gvLockHistory").filterToolbar({ stringResult: true, searchOnEnter: false,defaultSearch:"cn"}); 


}); 

Xin hãy giúp tôi cảm ơn trước, Và xin đừng quên về nơi này chủ cần hiển thị trong phần lọc

Trả lời

24

Nếu bạn đang sử dụng phiên bản jqgrid tương đối mới, bạn có thể đặt tùy chọn sau để làm cho trường hợp tìm kiếm không nhạy cảm:

ignoreCase: true 

Hy vọng điều đó sẽ hữu ích.

+0

Cảm ơn hoạt động của nó và cách tôi có thể đặt bộ giữ chỗ bên trong tìm kiếm trong JQgrid –

+0

Nó không hoạt động trong jqGrid 3.7.2 Vui lòng giúp giải pháp thay thế. – achan1989

11

Bạn cần đặt ignoreCase: true trong tùy chọn jqGrid. Câu trả lời của @ f01 không hiệu quả với tôi. Tôi đang sử dụng jqGrid phiên bản 4.6.0.

grid.jqGrid({ 
    datatype: "local", 
    editurl: 'clientArray', 
    caption: "Values", 
    ignoreCase: true, //By default the local searching is case-sensitive. 
         //To make the local search and sorting not 
         //case-insensitive set this options to true 

    colNames: ["", "", ""], 
    colModel: [{ 
     name: "value", 
     // .. more stuff 
});