#javascript #jquery #javascript-objects #jsgrid
#javascript #jquery #javascript-объекты #jsgrid
Вопрос:
Я использую JsGrid v1.5.3, и я успешно создал подобное поле с помощью JsGrid
{
name: "1_price",
className: 'wordwrap',
title: 'Test Price',
type: "text",
width: 75,
filtering: false,
sorting: true,
sorter: 'priceSorter',
itemTemplate: function(value, item) {
if (typeof value === 'undefined') value = '';
if (item amp;amp; item.hasOwnProperty('is_sold_out') amp;amp; item.is_sold_out == 1) {
return '<span class="sold-out-strikethrough">' value '</span>';
} else {
return '<span>' value '</span>';
}
}
}
затем я попытался создать пользовательскую функцию сортировки следующим образом:
window.jsGrid.sortStrategies.priceSorter = function(price1, price2) {
console.log(arguments)
}
из console.log(arguments)
он отправляет только 2 значения параметров, как я могу расширить его, чтобы я мог получать другие параметры, например, дополнительными параметрами является имя поля (1_price):
window.jsGrid.sortStrategies.priceSorter = function(price1, price2, fieldName) {
console.log(arguments)
}
Ответ №1:
Вы можете отправить несколько параметров, определив их в массиве или объекте JSON.
window.jsGrid.sortStrategies.priceSorter = function({price1:price1, price2:price2, fieldName:fieldName}) {
console.log(arguments)
}
Или
var params = {price1:price1, price2:price2, fieldName:fieldName};
window.jsGrid.sortStrategies.priceSorter = function(params) {
console.log(arguments)
}
Или
var params = [price1, price2, fieldName];
window.jsGrid.sortStrategies.priceSorter = function(params) {
console.log(arguments)
}