Я не уверен, как правильно сформулировать этот вопрос, так со мной.
У меня есть массив JSon, загруженный в мобильный список JQuery.У меня есть 4 радио кнопки для сортировки списка.Все работает.
Плюс, у меня есть панель фильтров для поиска отсортированных результатов.Допустим, я отсортировал свой список по возрастанию цены, я могу искать в списке с помощью панели фильтров.Но если я нажимаю цену по убыванию, список автоматически обновляется до значения по умолчанию.
Поэтому я пытаюсь отсортировать по возрастанию имени, отфильтровать результаты с помощью панели поиска и, если я нажму другую кнопку сортировки, список не обновляется.
Надеюсь, вы меня понимаете, я объяснил это настолько ясно, насколько смог.Вот мой код:
var productList = {"products": [
{"brand": "brand1", "description": "Product 1", "price": "03.25 "},
{"brand": "brand2", "description": "Product 4", "price": "01.10 "},
{"brand": "brand3", "description": "Product 3", "price": "04.21 "},
{"brand": "brand4", "description": "Product 2", "price": "15.24 "},
{"brand": "brand5", "description": "Product 5", "price": "01.52 "},
{"brand": "brand6", "description": "Product 6", "price": "12.01 "},
{"brand": "brand7", "description": "Product 7", "price": "05.24 "}</p>
<p>]
};</p>
<p>$(document).ready(function() {</p>
<pre><code>console.debug('ready');
$('#sort > input[type = "radio"]').next('label').click( function(event, el) {
console.debug($(event.currentTarget).prev('input').attr('id'));
sortID = $(event.currentTarget).prev('input').attr('id');
refresh(sortID);
});
});
функция обновления (sortID) {
var list = $ ("# productList"). Listview ();$ (Список) .empty ();var prods = productList.products.sort (function (a, b) {switch (sortID) {case 'sort-a-z': вернуть a.description> b.description; case 'sort-z-a': вернуть a.description
parseInt (b.price); case 'sort-price-down': return parseInt (a.price) b.description;}});$ .each (prods, function () {list.append ("" + this.description + ":" + this.price + "");});$ (Список) .listview ( "Обновить"); }