ListBox


ListBox — Генератор выпадающего списка <select> из массива

Описание

string ListBox( array $arr , mixed $selected [, string $opt = "" [ , $name_attr="" ] ] )

Возможные варианты в строке настроек.

  • none  - Сделать пустое значение
  • none=<пусто>  - Сделать пустое значение равным "<пусто>"
  • class=listbox  - Задать класс
  • key=val  - Сделать ключ равным значению
  • key:val=ID:ZAG - для двухмерных массивов можно выбирать что станет ключом, а что значением
  • skip=empty - пропускать пустые значения
  • multi  - Сделать список в котором можно выбрать несколько вариантов

Если нужно совместить несколько настроек, то они объединяются с помощью знака "+"

Список параметров

arr
Массив с данными для выпадающего списка
selected
Значение выбранное по-умолчанию
opt
Строка настроек
name_attr
Значение атрибута name

Примеры

Пример 1: Массив с ключами по-умолчанию

<?php

$arr = array(
	"Значение 1",
	"Значение 2",
	"Значение 3"
);
echo ListBox($arr, 1, "", "listbox");

/*
<select name="listbox">
<option  title="Значение 1" value="0">Значение 1</option>
<option selected="selected" title="Значение 2" value="1">Значение 2</option>
<option  title="Значение 3" value="2">Значение 3</option>
</select>
*/

?>

Пример 2: Ключ равен значению

<?php

$arr = array(
	"Значение 1",
	"Значение 2",
	"Значение 3"
);
echo ListBox($arr, "Значение 2", "key=val", "listbox");

/*
<select name="listbox">
<option  title="Значение 1" value="Значение 1">Значение 1</option>
<option selected="selected" title="Значение 2" value="Значение 2">Значение 2</option>
<option  title="Значение 3" value="Значение 3">Значение 3</option>
</select>
*/

?>

Пример 3: Список из двумерного массива

<?php
$arr = array(
	array(
		'ID' => 101,
		'ZAG' => "Заголовок 1",
		'TXT' => "Text 1"
	),
	array(
		'ID' => 102,
		'ZAG' => "Заголовок 2",
		'TXT' => "Text 2"
	),
	array(
		'ID' => 103,
		'ZAG' => "Заголовок 3",
		'TXT' => "Text 3"
	)
);
echo ListBox($arr, -1, "key:val=ID:ZAG+none=Выберите пункт+class=listbox", "listbox");

/*
<select name="listbox" class="listbox">
<option selected="selected" value="-1">Выберите пункт</option>
<option  title="Заголовок 1" value="101">Заголовок 1</option>
<option  title="Заголовок 2" value="102">Заголовок 2</option>
<option  title="Заголовок 3" value="103">Заголовок 3</option>
</select>
*/

?>

Пример 4: Выбор нескольких значений

<?php
$arr = array(
	"Значение 1",
	"Значение 2",
	"Значение 3"
);
echo ListBox($arr, array(0,1), "multi", "listbox");

/*
<select name="listbox" multiple="multiple">
<option selected="selected" title="Значение 1" value="0">Значение 1</option>
<option selected="selected" title="Значение 2" value="1">Значение 2</option>
<option  title="Значение 3" value="2">Значение 3</option>
</select>
*/
?>

Смотрите также:

  • GetSelectboxFromOpt — Создает ListBox из строки с разделителем ";"
  • tag_full — Создание произвольного тега
  • tag_option — Создание тега <option>
  • tag_param — Создание параметра для тега
  • tag_short — Создание произвольного короткого тега например <br>
  • anchor — Возвращает тег <a>