Я не нашел четкого способа сделать это, или конкретного c способа, поэтому я спрашиваю:
Прежде всего, это мой html:
<tr class="RateContainer" data-rate="{"id":"AD","meal":{"id":2,"abbreviation":"AD",
...
...
Я имею в виду; много информации внутри data-attribute. затем с помощью js я могу взять это:
var dataRate = $(".RateContainer").map(function () { return $(this).data('rate'); });
, которые возвращают этот объект:
jQuery.fn.init(278) [{…}, {…}, …]
Где первый элемент такой:
0:
id: "SA"
meal: {id: 1, abbreviation: "", name: "string"}
...
__proto__: Object
Первый вопрос : ¿как вывести "идентификаторы" из jQuery.fn.init(278) [{…}, {…}, …]
, чтобы сравнить их позже? Где я могу увидеть идентификатор (свойство, которое я хочу), используя это:
for (var datos in dataRate) {
console.log(dataRate[datos].id);
}
И дать мне список идентификаторов, например:
SA
MP
AD
MP
...
and go on like 300
На данный момент, что я хочу, это это, у меня есть это:
var listaMeals = $("#HotelAvailSideFilterResult_listaMeals2").val();
Какие распечатать это, когда я выбираю значение и DropDowSelect (Select2):
(2) ["AD", "SA"]
0: "AD"
1: "SA"
length: 2
Таким образом, у меня есть массив, где я слушаю, когда я выбираю 1 пункт, и они сохраняют выбранные значения. Так что я хочу сделать так, чтобы значения выбирались следующим образом:
(3) ["AD", "SA", "TI"]
0: "AD"
1: "SA"
2: "TI"
Сделать каждый объект скрытым, чтобы его значение данных не содержало / не содержало идентификатор, примерно так:
var visible = true;
if (listaMeals && null != listaMeals && !$.isEmptyObject(listaMeals) && visible) {
var existeFiltro = false;
$(listaMeals).each(function (i) {
if (listaMeals[i].includes(listaMeals_Search)) {
existeFiltro = true
console.log('encontrado')
//- 1 < listaMeals_Search.find(listaMeals[i])
}
console.log(' no encontrado')
});
if (!existeFiltro) {
visible = false;
}
if (!existeFiltro) {
visible = false;
}
if (visible) {
$(hotelActual).show();
} else {
$(hotelActual).hide();
}
Итак Второй вопрос : Как я могу сравнить выбранные значения, которые уже находятся в массиве, со свойством id атрибута data, который находится в tr внутри большого числа элементов и обертки, отдел Теперь я не использую атрибуты данных, я использую это:
$(".product-content.product-wrap.clearfix.product-deatil", divGeneralHoteles).each(function () {
var hotelActual = $(this);
var listaMeals_Search = $(this).html().toString();