Не понял, как вы выбрали бы из выпадающего списка div, поэтому добавил мой собственный выпадающий список, вы можете изменить его по мере необходимости.Также parseFloat и parseInt завершились неудачно на 'Equal', поэтому я изменил оба параметра на parseFloat.
<div class="input-group-prepend">
<button type="button" class="btn btn-light dropdown-toggle legitRipple" data-toggle="dropdown" aria-expanded="false">Action</button>
<div class="dropdown-menu" x-placement="bottom-start" style="position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(0px, 38px, 0px);">
<a href="#" class="dropdown-item">Below</a>
<a href="#" class="dropdown-item">Below or equal</a>
<a href="#" class="dropdown-item">Above</a>
<a href="#" class="dropdown-item">Above or equal</a>
<a href="#" class="dropdown-item">Equal</a>
<a href="#" class="dropdown-item">Not equal</a>
</div>
<select id="operator" name="oper">
<option value="<" class="dropdown-item">Below</option>
<option value="<=" class="dropdown-item">Below or equal</option>
<option value=">" class="dropdown-item">Above</option>
<option value=">=" class="dropdown-item">Above or equal</option>
<option value="==" class="dropdown-item">Equal</option>
<option value="!=" class="dropdown-item">Not equal</option>
</select>
</div>
JS Ниже
$(document).ready(function () {
var table = $('.datatable-responsive').DataTable();
var op = "<";
/**
* Dropdown with Input Field
*/
var operators = {
"==": function (a, b) { return a == b; },
"<=": function (a, b) { return a <= b; },
">=": function (a, b) { return a >= b; },
"<": function (a, b) { return a < b; },
">": function (a, b) { return a > b; },
"!=": function (a, b) { return a != b; }
};
$.fn.dataTable.ext.search.push(
function (settings, data, dataIndex) {
var changePercentageInput = parseFloat($('#changePercentageInput').val(), 10);
var changePerc = parseFloat(data[4]) || 0; // use data for the changePerc column
if ((isNaN(changePercentageInput)) || (operators[op](+changePercentageInput, +changePerc))) {
console.log(changePercentageInput + " " + changePerc);
return true;
}
return false;
}
);
$('#operator').on('change', function () {
op = this.value;
table.draw();
});
$('#changePercentageInput').keyup(function () {
table.draw();
});
});