Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Определение позиции <option> по значению в value
 
 автор: TetRiska   (26.08.2010 в 01:03)   письмо автору
 
 

Всем привет. Не могу сообразить как сделать такое:
<select name="" id="menutext">
<option value="0" id="mdel">- - -</option>
<option value="1">Baskoni</option>
<option value="234">Pipi</option>
<option value="2">Respect</option>
</select>

Как в данном случае определить, что Pipi с value="234" находится на 2-й позиции для дальнейшего автоселекта. Как реализовать то? Спасибо.

  Ответить  
 
 автор: TetRiska   (26.08.2010 в 01:43)   письмо автору
 
   для: TetRiska   (26.08.2010 в 01:03)
 

в общем решил, хоть возможно через "Ж", но работает) лучшего варианта я не вижу
Формирование селекта:
echo '<select id="menutext" name="">
<option id="mdel" value="0">- - -</option>';
$res6  = mysql_query("SELECT * FROM `brands` ORDER BY `menutext` ASC");
$i = 0;
while($result6 = @mysql_fetch_assoc($res6)){
$i++;
echo '<option id="selval_'.$i.'" value="'.$result6['id'].'">'.$result6['menutext'].'</option>';
}
echo '</select>';

И собственно автоселект:
var objMenutext = document.getElementById("menutext");
var menuid     = document.getElementById('menuid_'+id).value; //значение из таблицы
for(var i = 1; i<objMenutext.length;i++){
if(document.getElementById('selval_'+i).value == menuid){
var selval = document.getElementById('selval_'+i).id;
var selvalres = selval.split('_');
}
}
objMenutext.options[selvalres[1]].selected     = 'selected';

  Ответить  
 
 автор: sim5   (26.08.2010 в 04:48)   письмо автору
 
   для: TetRiska   (26.08.2010 в 01:43)
 

Вы пытаетесь выделить при выводе списка из базы выбранный опшен?

  Ответить  
 
 автор: АЯ   (26.08.2010 в 01:46)   письмо автору
 
   для: TetRiska   (26.08.2010 в 01:03)
 

1. У всякого селекта есть коллекция options, где все опшены перечислены сверху вниз с индексами, начинающимися от нуля.
2. У всякого опшена из коллекции options есть как свойство value, так и свойство text.
3. Соответственно, перебираете циклом эту коллекцию options от нуля до options.length - 1 и сравниваете или options [j].value с заданным 234, или options [j].text с заданным Pipi.
4. При совпадении делаете соответствующий опшен выделенным - options [j].selected = true - и выходите из цикла, используя break.

Для Ваших id="menutext" и Pipi код будет следующим:
for (var obj = document.getElementById ('menutext').options, j = 0; j < obj.length; j++)
if (obj [j].text == 'Pipi') {obj [j].selected = true; break}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования