Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
2-1243933787
Igor2010
2009-06-02 13:09
2009.07.26
TabSheet в PageControl


2-1243791655
Сергей
2009-05-31 21:40
2009.07.26
TTreeNode


15-1242822099
easy
2009-05-20 16:21
2009.07.26
Переезд PDA-шлюза dmgate


2-1243960373
v1kee
2009-06-02 20:32
2009.07.26
Помогите с динамическим созданием строк


15-1243109560
Tornado
2009-05-24 00:12
2009.07.26
Вопрос по вебу




   Наверх