Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.26;
Скачать: CL | DM;

Вниз

Мультиселект в html (multiple в DOM)   Найти похожие ветки 

 
HF-Trade ©   (2009-05-26 17:50) [0]

На странице присутствет поле с мультиселектом (типа TListBox)
Код -
<select name="xxx"
id="category"
onchange="onCategoryChange(this.value)"
class="cat_select" multiple>
<option value="0"></option><option style="color: black"
value="1" >Главная</option><option style="color: black"
value="4" >четыре</....и т.д.

Выбрать один итем можно..
IF ovElements.item(I).name="xxx" Then
 OvElements.Item(I).SelectedIndex:="1";

А как осуществить множественный выбор?(Установить фокус?)
Вообщем необходимо выбирать к примеру 1,3,7 элемент списка.


 
palva ©   (2009-05-26 18:20) [1]

Вот здесь рассказано, как
http://www.tigir.com/javascript_select.htm


 
HF-Trade ©   (2009-05-26 19:21) [2]

IF ovElements.item(I).name="xxx" Then
OvElements.Item(I).Options[1]:=Selected;
Если я правильно понял там описан вот такой способ...
Но не работает...


 
palva ©   (2009-05-26 19:54) [3]

Наверно, вы поняли неправильно. Диагностику, которую выдал компилятор, вы не написали, а у меня нет под рукой Delphi, чтобы посмотреть диагностику, порожденную вашим кодом. Поэтому привожу общие соображения.
Selected это логическое свойство. Ему нужно присвоить значение True. Если вы затрудняетесь, как это записать на Delphi, посмотрите исходники модуля (по-моему, это mshtml) в котором описана браузерная DOM.


 
vipus ©   (2009-05-27 01:58) [4]

Поделитесь инфой, пожалуйста, если нашли решение.
Почитал, что скинул Palva...

Никак не пойму, как выбрать несколько итемов (как мышкой с зажатым Ctrl)

Попробовал так:
IF ovElements.item(I).name="qwerty" Then
 OvElements.Item(I).Options(1)Selected:=True;

При выполнении вылазит ошибка -
EOleSysError with message "Не поддерживается"

Сделал страничку для экспериментов) такого вида -

<html>
<head>
 <title>selection</title>
</head>
<body>
<select size="5" multiple>
 <option>Один</option>
 <option>Два</option>
 <option>Три</option>
 <option>Четыре</option>
 <option>пять</option>
</select>
</body>
</html>

Может, кто скажет, как выбрать (выделить) 1 и 3 например строку...

Спасибо.


 
palva ©   (2009-05-27 23:06) [5]

Посмотрите, как здесь работают с опциями
http://parsing-and-i.blogspot.com/2009/02/javascript-twebbrowser-delphi.html
У item два параметра, то есть надо писать типа Item(I, 0) Полученный итем надо преобразовать к IHTMLOptionElement (или извлечь интерфейс, как это делается по ссылке). Вы исходники-то mshtml.pas почитайте все-таки. В соответствие с ними и разворачивайте Javascript в Delphi



Страницы: 1 вся ветка

Текущий архив: 2009.07.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
2-1243910208
Abcdef123
2009-06-02 06:36
2009.07.26
Как сделать,чтоб форма не показывалась?


11-1203768494
andreil
2008-02-23 15:08
2009.07.26
Как изменить дату файла?


2-1243738366
Нет имени
2009-05-31 06:52
2009.07.26
GDI и GDI+


6-1204868499
МистерТ
2008-03-07 08:41
2009.07.26
Timeout socket`ов возможно изменить ?


15-1243085277
@!!ex
2009-05-23 17:27
2009.07.26
Не работает Shared Section.