External Search in JqGrid
HTML
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/base/jquery-ui.css">
<link rel="stylesheet" href="http://trirand.com/blog/jqgrid/themes/ui.jqgrid.css">
<script src="http://trirand.com/blog/jqgrid/js/i18n/grid.locale-en.js"></script>
<script src="http://trirand.com/blog/jqgrid/js/jquery.jqGrid.min.js"></script>
<input type="text" id="ext_search" />
<input type="button" value="Search" id="search_btn" />
<br/>
<br/>
<table id="grid"></table>
JavaScript
var data = [
[1, "Not Blank", "02200220", "Bad/Good/Good/Bad"],
[2, "May Blank", "77733337", "Good/Bad/Good/Bad"]
];
$("#grid").jqGrid({
datatype: "local",
height: 250,
colNames: ['ID', 'Blank', 'Number', 'Status'],
colModel: [{
name: 'id',
index: 'id'
}, {
name: 'blank',
index: 'blank'
}, {
name: 'number',
index: 'number'
}, {
name: 'status',
index: 'status'
}],
caption: "JQ Grid",
});
var names = ["id", "blank", "number", "status"];
var mydata = [];
for (var i = 0; i < data.length; i++) {
mydata[i] = {};
for (var j = 0; j < data[i].length; j++) {
mydata[i][names[j]] = data[i][j];
}
}
for (var i = 0; i <= mydata.length; i++) {
$("#grid").jqGrid('addRowData', i + 1, mydata[i]);
}
$('#search_btn').click(function () {
var text = $('#ext_search').val();
var allData = $('#grid').jqGrid('getGridParam', 'data');
var found_row = [];
$.each(allData, function(i, item){
console.log(item);
if (item.id == text) found_row.push(i+1);
if (item.number == text) {found_row.push(i+1);}
if (item.blank == text) found_row.push(i+1);
if (item.status == text) found_row.push(i+1);
});
if (found_row.length > 0)
alert('Your value found at row no:' + found_row.join());
else
alert('Your value not found.');
});