BG Development


  Reply to this topicStart new topicStart Poll

> List<int> Contains, Includes, IndexOf not working
Momchilov
Публикувано на: 30-01-2020, 13:36
Quote Post



Име: Момчилов
Група: Потребител
Ранг: Активен

Мнения: 187
Регистриран на: 22.02.10



Здравейте,

4ти ден, с прекъсвания, се блъскам в нещо, което най-вероятно е страшно глупаво, но просто не работи и не откривам решение.

Целта е да филтрирам чекбоксове, с всеки чекбос намаляват всички чекбоксове, които са над 1000.

CODE
           $.ajax({
           type: "GET",
           url: '@Url.Action("GetCheckBoxes", "Filter")',
           data: { au: au,  att: att},
               success: function (data) {

                   var listCategories = data; // List<int> това ми е желанието да взема, в моемнта е Array

           for (var i = 0; i < getAttlength; i++) {

               var attId = getAttlength[i].value; // Id-то на съответния чекбокс

              var bar = listCategories.indexOf(attId);

               if (bar !== -1)  {
                   var dd = "";
               } else {
                    $('#attId' + getAttlength[i].value).hide();
               }
           }
           }
       });


Пробвах всичко, което открих в гугъл, не мога да разбера, къде бъркам, пробвах и с хардкоднати стойности: var dd = [1, 2, 3, 4, 5, 6, 8, 9];
Липсва 7, но другите са налични, attId се съдържа в този Array, но ми връща false. Пробвах с includes, същата работа.

Не съм никак добър с JavaScript, но нещата, които правя работят, но явно нещо в случая ми убягва...

Ще съм благодарен за насоки и съвети.

Поздрави!


--------------------
PMEmail Poster
Top
Momchilov
Публикувано на: 30-01-2020, 14:22
Quote Post



Име: Момчилов
Група: Потребител
Ранг: Активен

Мнения: 187
Регистриран на: 22.02.10



Успях да открия проблема...

Всъщност всичко от това, което си мислех, че не работи, си работи.
Проблемът беше тук: var attId = getAttlength[i].value; промених кода ето така:

CODE
           $.ajax({
           type: "GET",
           url: '@Url.Action("GetCheckBoxes", "Filter")',
           data: { au: au,  att: att},
               success: function (data) {
                   var listCategories = data;

                [COLOR=gray]   var attCount = getAtt.length; <-----------------

                   for (var i = 1; i <= attCount; i++) { <-------------------
                       var attId = i; <---------------------[/COLOR]

                      for (var i = 0; i <= getAtt.length; i++) {
                       var attId =  [B][COLOR=red]+[/COLOR][/B]getAtt[i].value;

                       var bar = listCategories.indexOf(attId);

                      if(bar !== -1)  {
                           var dd = "";
                       } else {
                           [COLOR=gray] $('#attId' + i).hide();[/COLOR]
                         $('#attId' + [B][COLOR=red]+[/COLOR][/B]getAtt[i].value).hide();
                       }
                   }
               }
           });
       }


Сега работи, както искам icon_smile.gif Но честно казано нямам обяснение защо, ако някой има професионално такова, ще се радвам да го прочета icon_smile.gif Все пак ми беше полезно, че споделих проблема.


Всъщност и това не беше правилния подход....

Проблемът е тук: getAttitudes[i].value което може би връща стринг, добавих "+" пред +getAttitudes[i].value в старият код и сега, засега вече работи....


Това мнение е било редактирано от Momchilov на 30-01-2020, 14:32


--------------------
PMEmail Poster
Top
zahasoft
Публикувано на: 30-01-2020, 14:40
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 580
Регистриран на: 15.12.19



QUOTE (Momchilov @ 30-01-2020, 14:22)
Сега работи, както искам icon_smile.gif Но честно казано нямам обяснение защо

Това се нарича програмиране. Чукаш по клавиатурата на случаен принцип и в един момент сработва. Трябва само човек да е търпелив.


--------------------
PM
Top
Momchilov
Публикувано на: 30-01-2020, 14:49
Quote Post



Име: Момчилов
Група: Потребител
Ранг: Активен

Мнения: 187
Регистриран на: 22.02.10



QUOTE (zahasoft @ 30-01-2020, 14:40)
QUOTE (Momchilov @ 30-01-2020, 14:22)
Сега работи, както искам icon_smile.gif Но честно казано нямам обяснение защо

Това се нарича програмиране. Чукаш по клавиатурата на случаен принцип и в един момент сработва. Трябва само човек да е търпелив.

Ммммда, калпаво програмиране icon_smile.gif Прав си....


--------------------
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0