搜索必须在Javascript

时间:2015-11-17 09:42:55

标签: php search datatables

我有一张桌子和一张搜索。我需要使搜索案例不敏感。目前它是区分大小写的,我必须使它不区分大小写,所以当它进行搜索时,我得到的结果没有区分大小写。需要一些帮助。 提前谢谢。

以下是代码:

<div class="panel panel-default" style="margin-top:2%;">
<div class="panel-body">
<table border="0" cellpadding="5" cellspacing="5" style="width:100%;">
<tbody>
<tr>
<td>Select Column :</td>
<td>
<select name="select_column" id="select_column" class="form-control">
<option value="">NULL</option>
<?php
//generate query
$query = $row['sql_statement'];
$result = $conn_temp->query($query);
while($row1 = $result->fetch_assoc())
enter code here{
foreach((array)$row1 as $key=>$val)
{ ?>
<option value="<?php echo  $key ?>"><?php echo $key ?></option>
<?php }
break;
}
?>
</select>
</td>
<td>Enter value to search :</td>
<td>
<input type="text" name="select_value" id="select_value" value="" class="form-control">
</td>
</tr>
</tbody>
</table>
<hr>
<table class="table table-striped table-bordered table-hover" id="dataTable_table">
<thead>
<tr>
<?php
//generate query
$query = $row['sql_statement'];
$result = $conn_temp->query($query);
while($row1 = $result->fetch_assoc())
{
foreach((array)$row1 as $key=>$val)
{ 
?>
<th><?php echo $key ?></th>
<?php
}
break;
}
?>
</tr>
</thead>
<tbody>
<?php
//generate query
$query = $row['sql_statement'];
$result = $conn_temp->query($query);
while($row1 = $result->fetch_assoc())
{ ?>
<tr>
<?php
foreach((array)$row1 as $key=>$val)
{ ?>

<th><?php 
if (is_numeric($val)) {
echo number_format($val,2);
} elseif (!is_numeric($val)) {
echo $val; }?></th>
<?php
} ?>
</tr>
<?php
} ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>


<link href="scripts/dataTables/dataTables.bootstrap.css" rel="stylesheet">
<script src="scripts/dataTables/jquery.dataTables.js"></script>
<script src="scripts/dataTables/dataTables.bootstrap.js"></script>

<script>
    $.fn.dataTable.ext.search.push(
        function( settings, data, dataIndex ) {
            var select_value = $('#select_value').val();
            var select_column = $('#select_column').val();
            var column_index = '';
            //var column = data[1] || 0; // use data for the age column
            if ( select_value == '' || select_column == '' )
            {
                return true;
            }
            else {
                //get the column name of data table
                var column = 0;
                $('#dataTable_table thead tr th').each(function(){
                    if( $(this).text() == select_column.toString())
                    {
                        return false;
                    }
                    column = column + 1;
                });
                column = data[column] || 0;
                if(column!==0 && column.indexOf(select_value.toString()) >= 0)
                {
                    return true;
                }
            }
            return false;
        }
    );



    $(document).ready( function () {
      $('#dataTable_table').dataTable( {
        "bSort": false
      } );
    } );

    $.fn.dataTableExt.sErrMode = 'throw';
    $(document).ready(function () {
        var  table = $('#dataTable_table').DataTable();
        $('#select_value').keyup( function() {
            table.draw();
        });
    });


</script>

1 个答案:

答案 0 :(得分:0)

每次比较两个字符串时,

对每个元素使用.toLowerCase():

if( $(this).text().toLowerCase() == select_column.toString().toLowerCase())