</div>
                  
                  
                        <div class="field-product-search">
                  
                  
                          <input type="text" value="bbb">
                  
                  
                        </div>
                  
                  
                        <div class="field-product-search">
                  
                  
                          <input type="text" value>
                  
                  
                        </div>
                  
                  
                      </div>
                  
                  
                    </div>
                  
                  
                    <div class="field-garment"></div>
                  
                  
                  </div>
                  
                  
                  <div class="field-design"></div>
                  
                  
                  jquery:
                  
                  
                  once(
                  
                  
                    "show",
                  
                  
                    ".field-garment > div",
                  
                  
                    context
                  
                  
                  ).forEach(wrapper => {
                  
                  
                    const $wrapper = $(wrapper);
                  
                  
                  
                  
                  
                    createDesignsInfoinSidebar();
                  
                  
                    addOneDesignClass();
                  
                  
                  
                  
                  
                    const $productSearchInput = $(
                  
                  
                      ".field-product-search input", $wrapper);
                  
                  
                  
                  
                  
                    $productSearchInput.each(function () {
                  
                  
                      if ($productSearchInput.val() === "") {
                  
                  
                        $(this).css("background", "red");
                  
                  
                      } else {
                  
                  
                        $(this).css("background", "green");
                  
                  
                      }
                  
                  
                    });
                  
                  
                  В последний инпут не введено значение и соотвественно value пустое, а значит background должен стать красного цвета, но у все инпуты стали зеленого цвета. Где я допустил ошибку?
                  
                  
                
Пожалуйста, такие большие куски кода постите в песочницу, например в codepen.io, так и вам будет понятнее и тем, кто захочет вам обязательно помочь
$productSearchInput.each(function () { if ($productSearchInput.val() === "") { // вот тут ты вызываешь .val на массиве инпутов $(this).css("background", "red"); } else { $(this).css("background", "green"); } в общем то , еслиб нейминг был правильней , то было бы более очевидно. тк productSearchInput это у тебя productSearchInputList на самом деле. а val() в jq = Get the current value of the first element in the set of matched elements. это значит что в проверке тебе три раза прилетает значение первого изи
Обсуждают сегодня