Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как сделать множественный выбор в фильтре?

00 голосов
3
Как сделать множественный выбор в фильтре? Я уже не могу - не получается и ппц...
код шаблона примерно такой (укороченый):


Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); //print_r($arResult);?>

<fo rm name="<?echo $arResult["FILTER_NAME"]."_form"?>" action="<?=SITE_DIR?>kommercheskaya_nedvizhimost/index.php" method="get">
  <?foreach($arResult["ITEMS"] as $arItem):
      if(array_key_exists("HIDDEN", $arItem)):
         echo $arItem["INPUT"];
      endif;
   endforeach;?>
  <?
   if (strlen($_REQUEST["set_filter"])>0)
       $arrPFV = $_REQUEST[$arResult['FILTER_NAME']."_pf"];
    elseif ($arParams["SAVE_IN_SESSION"])
       $arrPFV = $_SESSION[$arResult['FILTER_NAME']."arrPFV"];
   
    $i = 0;
   $items = array();
   foreach($arResult["arrProp"] as $arProp)
   {
      $item            = $arResult["ITEMS"][$i];
      $item["arrProp"]   = $arProp;

      if($arProp["PROPERTY_TYPE"] == "N")
            $item["INPUT"] = 'от&nbsp;<input type="text" on keypress="return check_key(event)" name="'.$arResult['FILTER_NAME'].'_pf['.$arProp["CODE"].'][LEFT]" value="'.$arrPFV[$arProp["CODE"]]["LEFT"].'" />'.
            ' до&nbsp;<input type="text" on keypress="return check_key(event)" name="'.$arResult['FILTER_NAME'].'_pf['.$arProp["CODE"].'][RIGHT]" value="'.$arrPFV[$arProp["CODE"]]["RIGHT"].'" />';
      $i++;
      $items[$arProp["CODE"]] = $item;
   }
?>
  <table class="flat" alight="center">
  <tr> <td>   
 <div id="783" alt="Калужско-Рижская">
  <input type="checkbox" name="<?=$arResult['FILTER_NAME']?>_pf[_metro]" value="783" 
<?if($arrPFV["_lin_metro"]==783):?>checked<?endif;?>/>
</div> 
............и так далее...... 

</td></tr> 
 
<tr>
 <td colspan="2">
   
   <input type="s ubmit" name="set_filter" value="НАЙТИ!" class="sendsubmit but-filter-gl act link"/>
    </td></tr>
value - это id из настроек свойства инфоблока

Фишка заключается вот в чем - если выводить в фильтре с помощью
Код
 <?=$items["_metro"]["INPUT"]?>

то все путем-все фильтрует - а чекбоксы расставляет в строчку! А хотелось бы разместить для каждой станции на карте отдельно каждый чекбокс с возможностью множественного выбора!
В моем варианте он фильтрует только по последнему значению!
спросил 13 Окт, 13 от yye (220 баллов)

3 Ответы

00 голосов
Скобки [] надо добавить в name, насколько я вас понял.

Код
<input type="checkbox" name="<?=$arResult['FILTER_NAME']?>_pf[_metro][]" value="783" />
ответил 03 Ноя, 13 от KeiDen (400 баллов)
00 голосов
Цитата
marv пишет:
Скобки [] надо добавить в name, насколько я вас понял.
Код
 <input type="checkbox" name="<?=$arResult['FILTER_NAME']?>_pf[_metro][]" value="783" /> 
А в чем фишка - растолкуйте пожалуйста...
ответил 09 Фев, 14 от yye (220 баллов)
00 голосов
Принимает массив значений
ответил 29 Май, 14 от KILLERI (380 баллов)

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

0 голосов
1 ответ
спросил 19 Янв, 13 от аноним
0 голосов
5 ответов