Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/23: Рейтинг темы: голосов - 23, средняя оценка - 4.91
katherines
1

Как сделать из чекбоксов выпадающий список?

19.02.2013, 12:59. Показов 4386. Ответов 4
Метки нет (Все метки)

В движке сайта имеется такая функция, которая выводит список доступных категорий для публикации вопроса. Проблема в том, что выводит она их в виде списка элементов input, где для выбора ставится галочка. Это не совсем красиво и удобно. Хотелось бы вывести это в виде выпадающего списка:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function get_question_categories($queston_cat = array())
{
    $return_str = '';
    if(get_option('ptthemes_question_cat_selection_flag'))
    {
        $cat_exclude = get_inc_categories("cat_exclude_");
        $cat_exclude_arr = explode(',',$cat_exclude);
        $cat_arr = array();
        for($i=0;$i<count($cat_exclude_arr);$i++)
        {
            if($cat_exclude_arr[$i])
            {
                $cat_arr[] = $cat_exclude_arr[$i];
            }
        }
        if($cat_arr)
        {
            for($j=0;$j<count($cat_arr);$j++)
            {
                $selected='';
                if($queston_cat)
                {
                    if(in_array($cat_arr[$j],$queston_cat))
                    {
                        $selected = 'checked';
                    }   
                }else
                if($_SESSION['question_info']['queston_cat'] && in_array($cat_arr[$j],$_SESSION['question_info']['queston_cat']))
                {
                    $selected = 'checked';
                }
                $return_str .= '<li><input type="checkbox" value="'.$cat_arr[$j].'" name="queston_cat[]" '.$selected.'>'.get_cat_name( $cat_arr[$j] ).'</li>';
            }
        }       
    }
    return $return_str;
}
Пыталась сделать сама — по аналогии заменила элементы списка на option, но проблема в том, что не передается значение selected (то есть какая именно категория выбрана)...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function get_question_categories($queston_cat = array())
{
    $return_str = '';
    if(get_option('ptthemes_question_cat_selection_flag'))
    {
        $cat_exclude = get_inc_categories("cat_exclude_");
        $cat_exclude_arr = explode(',',$cat_exclude);
        $cat_arr = array();
        for($i=0;$i<count($cat_exclude_arr);$i++)
        {
            if($cat_exclude_arr[$i])
            {
                $cat_arr[] = $cat_exclude_arr[$i];
            }
        }
        if($cat_arr)
        {
            for($j=0;$j<count($cat_arr);$j++)
            {
                $selected='';
                if($queston_cat)
                {
                    if(in_array($cat_arr[$j],$queston_cat))
                    {
                        $selected = 'selected';
                    }   
                }else
                if($_SESSION['question_info']['queston_cat'] && in_array($cat_arr[$j],$_SESSION['question_info']['queston_cat']))
                {
                    $selected = 'selected';
                }
                $return_str .= '<option value="'.$cat_arr[$j].'" name="queston_cat[]"'.$selected.'>'.get_cat_name( $cat_arr[$j] ).'</option>';
            }
        }       
    }
    return $return_str;
}
То, где вызывается функция:
HTML5
1
2
3
<select class="question_cat">
        <?php echo get_question_categories($queston_cat);?>
</select>
Подскажите, пожалуйста, как правильно это сделать?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2013, 12:59
Ответы с готовыми решениями:

Как сделать выпадающий список из двух форм?
Как сделать выпадающий список из двух форм? -------------Первая форма---------------- &lt;select...

Как сделать выпадающий список в 1с?
Чтобы реквезит &quot;Вид осей&quot; был выпадающим списком и еще вопрос, смогу ли я потом прописать в модуле...

Как сделать выпадающий список
Как сделать список как на скриншоте?

Как сделать такой выпадающий список?
Подскажите пожалуйста, добрые люди, как сделать такой списочек(слева)?, при нажатии на стрелочку,...

4
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
19.02.2013, 13:01 2
Так чекбоксы видимо сделаны для того, что бы можно было в несколько категорий помещать.
А в селекте будет только одна категория.
0
katherines
19.02.2013, 13:04 3
Да, я понимаю, но на самом деле это не нужно Проблема в том, что категорий много, и такой длинный список с чекбоксами совсем некрасиво смотрится.
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
19.02.2013, 14:28 4
заверните чек бокс в див, которому задайте высоту 100 пикселей, и включите ему прокрутку.
все чек боксы будут в окошечке с полосой прокрутки, и выбрать можно будет несколько, и список на странице не будет длинным
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 4
07.02.2016, 14:39 5
Здравствуйте помогите сделать выпадающий список над контентом что бы не сдвигал http://dilbo.asia/classifieds/... ameras,152 Марка фотоаппарата кнопка ОТКРЫТЬ
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2016, 14:39

Как сделать выпадающий список в DbGrid?
Subj:в DBGrid'е не могу получить выпадающий список, а что обиднее всего - есть примеры, но выводов...

Как сделать макрос на выпадающий список?
Подскажите, пожалуйста, как сделать макрос на выпадающий список(чтобы при выборе из списка...

DropDownList: как в C# сделать выпадающий список?
как в C# сделать выпадающий список? Все дело в том, что у меня в toolbox(от windowsformapplication)...

Как сделать выпадающий список на форме
на форме инспектор по контролю как можно сделать выпадающий список на фамилию, просто фамилий там...

Как сделать выпадающий список в TStringGrid?
Доброго времени суток! Подскажите, как создать выпадающий список в ячейках , расположенных в одной...

Как сделать в среде дельфи выпадающий список?
Здравствуйте уважаемые форумчат! я новичок в программировании . вопрос: как сделать в среде дельфи...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.