parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

option selected

Mizter Egoist 12.11.2015 14:59

Задача: сделать подкатегории выбранными.
Страница редактирования записи, во все селекты и инпуты вставляем значения из БД, хочу сделать выбранными те подкатегории, которые записаны в БД как выбранные.
#все подкатегории
$headings[^get.getHeadings[]]
#все категории
$sections[^get.getSections[]]
#все запсиси
$entries[^get.getEntries[]]
#текущая запись
$entry[^get.getEntries[$.PID[$form:id]]]
#разбиваем id подкатегорий
$splitEntry[^entry.HID.split[,;lv;heading]]
#удостоверяемся, что данная подкатегория существует
$heading[^get.getHeadings[$.id[^splitEntry.menu{${splitEntry.heading}}[, ]]]]
<div id="editEntry">
	<img src="$entry.img" title="$entry.title" alt="$entry.title">
	<form id="editEntryForm" name="editEntryForm" method="POST" enctype="multipart/form-data" accept-charset="UTF-8">
		^if($entry.active eq 'true'){
			<label><input type="checkbox" name="active" value="true" checked> Активен</label><br>
		}{
			<label><input type="checkbox" name="active" value="true"> Активен</label><br>
		}
		<select name="SID" required onchange="select(this)">
			<option disabled>Выберите раздел</option>
			<option value="0">Верхний уровень</option>
			^sections.menu{
				^if($entry.PID eq $form:id){
					<option value="$sections.id" class="SID" selected>$sections.title</option>
				}{
					<option value="$sections.id" class="SID">$sections.title</option>
				}
			}
		</select>
		^sections.menu{
			<select name="HID_${sections.id}" class="HID" id="hid_${sections.id}" required style="display:block" multiple>
				<option disabled>Выберите рубрику</option>
				^if($splitEntry.heading eq 0){
					<option value="0" selected>Верхний уровень</option>

				}{
					<option value="0">Верхний уровень</option>
				}
				#делаем перебор всех подкатегорий
				^headings.menu{
					#если из всех подкатегорий есть те, что присвоены текущей записи, то делаем их выбранными
					^if($heading.id eq $headings.id){
						<option value="$headings.id" selected>$headings.title</option>
					}{
						<option value="$headings.id">$headings.title</option>
					}
				}
			</select>
		}
		<input type="text" name="position" placeholder="Сортировка" value="$entry.position">
		<input type="text" name="title" placeholder="Заголовок" value="$entry.title" required>
		<input type="text" name="link" placeholder="URL адрес" value="$entry.link" required>
		<input type="text" name="keywords" placeholder="Ключевые слова" value="$entry.keywords">
		<textarea name="text" placeholder="Текст" required>$entry.text</textarea>
		<input type="text" name="img" placeholder="URL картинки" value="$entry.img">
		<div id="input_files">
			<label class="fileform">
				<span class="filebutton">Выбрать</span>
				<input type="file" name="fileform" multiple>
			</label>
		</div>
		<input type="submit" name="editEntry" value="Опубликовать">
	</form>
</div>
Проблема в том, что проверка между всеми и присвоенными подкатегориями делается не так, как мне хотелось бы. Не могу увидеть свою ошибку.
Если выбрана одна подкатегория, то она успешно подсвечивается, если выбраны две или более, то подсвечивается только одна.