@televnoy

Удаление пустых строк в select?

Здравствуйте. Поставили задачу несколько выпадающих списков сделать. В общем все реализовал.
Но проблема заключается в том, что добавляются пустые строки. В общем если в одном из списков 10 наименований = 10 строкам, в другом 2 наименования = 10 строкам.
Вот что подтягивается:
<select name="variant" class="tovar__select-elem">
												<option value="Алюминий" data-price="0 руб" data-compare-price="0 руб">Алюминий</option>
												<option value="Белый" data-price="0 руб" data-compare-price="0 руб">Белый</option>
												<option value="Бук" data-price="0 руб" data-compare-price="0 руб">Бук</option>
												<option value="Венге" data-price="0 руб" data-compare-price="0 руб">Венге</option>
												<option value="Дуб Сонома светлый" data-price="0 руб" data-compare-price="0 руб">Дуб Сонома светлый</option>
												<option value="Дуб Сонома темный" data-price="0 руб" data-compare-price="0 руб">Дуб Сонома темный</option>
												<option value="Ясень анкор светлый" data-price="0 руб" data-compare-price="0 руб">Ясень анкор светлый</option>
												<option value="Ясень анкор темный" data-price="0 руб" data-compare-price="0 руб">Ясень анкор темный</option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
												<option value="" data-price="0 руб" data-compare-price="0 руб"></option>
											</select>


В общем запрет выполнения

В шаблоне CMS Simpla выбор подтягивается через следующий код:
<div class="tovar__select">
					<div class="tovar__select-text">Варианты фасада:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</div>
					<select name="variant" class="tovar__select-elem">
						{foreach $product->variants as $v}
						<option value="{$v->id}" data-price="{$v->price|convert} {$currency->sign|escape}" data-compare-price="{$v->compare_price|convert} {$currency->sign|escape}">{$v->name}</option>
						{/foreach}
					</select>	
				</div>				
				{else}
				<input type="radio" name="variant" value="{$product->variant->id}" checked style="display:none!important"/>
				{/if}


Стили сответствено вот:
.tovar__select {
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-bottom: 40px;
}
.tovar__select-elem {
  width: 380px;
  display: inline-block;
}

.tovar__select-text {
  color: #424242;
  display: inline-block;
  font-size: 18px;
  margin-right: 20px;
}
.tovar__select-elem {
    width: 100%;
    margin-top: 10px;
  }
  • Вопрос задан
  • 246 просмотров
Решения вопроса 1
@AnneSmith
самая ленивая
value на "" проверяйте и не выводите
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Не знаком с CMS Simpla но внутри foreach полюбому можно поставить if, чтобы выводить только не пустые

Типо: { if $v.id }
Ответ написан
Comers
@Comers
Frontend Dev.
Множит 100% цикл
{foreach $product->variants as $v}
     <option value="{$v->id}" data-price="{$v->price|convert} {$currency->sign|escape}" data-compare-price="{$v->compare_price|convert} {$currency->sign|escape}">{$v->name}</option>
 {/foreach}

Надо в нём копаться
Ответ написан
@televnoy Автор вопроса
Знаниями в в VBA и методом тыка получилось. Всем спасибо за участие.

{if "{$v->id}" <> ""}
<option value="{$v->id}" data-price="{$v->price|convert} {$currency->sign|escape}" data-compare-price="{$v->compare_price|convert} {$currency->sign|escape}">{$v->name}</option>
{/if}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы