Вниз
Скачать: 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.012 c
2-1243345827
HF-Trade
2009-05-26 17:50
2009.07.26
Мультиселект в html (multiple в DOM)


15-1243202952
KilkennyCat
2009-05-25 02:09
2009.07.26
Небольшой эксперимент:


2-1243850262
Максим
2009-06-01 13:57
2009.07.26
TMenuItem


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


9-1181478232
Eugewik
2007-06-10 16:23
2009.07.26
При условии несколько действий




   Наверх