
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.82] |
![]() |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Привет всем!
Обнаружил такую вот проблему. На DBrepeater лежат компоненты-Image и несколько Label. Image использую для имитации нажатия кнопок для действия(редактировать,удалить и т.д.) через AJAX. В событии onDetail компонента такой код ![]() ![]() function DBRepeater1Detail($sender, $params) { $this->Label1->Caption=$this->Query1->caption; $this->Label2->Caption="id=".$this->Query1->id; $this->Image1->name="Image".$this->Query1->id; } в IDE все работает хорошо,на локальном апаче работает только при первоначальной загрузке страницы(т.е. только в новой сессии,насколько я понимаю).После обновления через AJAX по кнопке на странице или при обновлении средствами браузера имя Image становится одинаковым для всех выведенных и равным последнему(нижнему) на DBRepeater и приводит к тому,что нажимается только верхняя кнопка при клике на любой другой. C лэйблами такого нет!(И при присваивании им Link тоже все нормально) Мои танцы с бубном не увенчались успехом. В чем проблема не понятно,может даже и не в DBRepeater. Пробовал подсунуть php.ini локальному апачу от IDE и много чего еще-не помогает.Help! В аттаче-пример Прикреплённый файл ![]() Бился день.Только отправил на форум-нашел решение-присваивать имя в событии onBeforeShow компонента Image и только через $sender ![]() ![]() function imgTrashBeforeShow($sender, $params) { $sender->name="imgT".$this->Query1->id; } Дополнение. Вылезла еще одна проблема. Картинок-"кнопок" несколько в зависимости от текущего статуса документа. Клик по соответствующей кнопке вызывает отпределенные действия и изменяет статус документа на свой. Хотел показывать\прятать такие картинки-"кнопки" в зависимости от статуса документа(например, статус "в корзине"-тогда кнопка корзины уже не должна показываться),однако при первом же клике по к-л кнопке такие кнопки прячутся сразу на всех записях.(в IDE тоже). Решения пока нету. |
Сообщ.
#2
,
|
|
|
Всем привет! Возникла проблемка с DBREPEATER ом. Точнее с Label- амии расположенные на нем, почему то не могу изменить размер шрифта цвет шрифта Label-ов. Использую HTML5Builder может кто сталкивался с этим недостатом? За ранее спасибо.
|
![]() |
Сообщ.
#3
,
|
|
на сколько я помню в компонентах не ве свойства задействованы
импользуй стили |
Сообщ.
#4
,
|
|
|
Попробуй как у меня выше (через $sender).
|
Сообщ.
#5
,
|
|
|
делаю так
![]() ![]() function CheckBox1BeforeShow($sender, $params) { $sender->name="CheckBox".$this->MySQLTable1->A_ID; if ($this->MySQLTable1->A_PRICE_CHECK==1) { $sender->Caption="Оплачено"; $sender->Checked=true; } else $sender->Caption=$this->MySQLTable1->A_ID; } } Но отмечены получаются все чекбоксы Смотрю html код, а там все чекбоксы с одинаковым ID )) вопрос как из RadPhp сменить, сгенерить id ? через компонент - есть ли свойство ? |
Сообщ.
#6
,
|
|
|
Попробуй добавить else $sender->Checked=false; чтобы получилось так.
![]() ![]() if ($this->MySQLTable1->A_PRICE_CHECK==1) { $sender->Caption="Оплачено"; $sender->Checked=true; } else $sender->Checked=false; |
Сообщ.
#7
,
|
|
|
Почему человек так устроен, когда проблема лежит не виду и порой решается штатно, в место этого лезем в дебри разбираем до основания предмет изучения, тратим часы на чтение книг и прочих вещей, а тут приходит "умный человек" и говорит
"А вы магнитофон с паузы снимите, он и заиграет" ) )) Спасибо Alex2011 )) Добавлено Как все таки сменить ID ? ) |
Сообщ.
#8
,
|
|
|
В предыдущей ветке ответил про компоненты. Да, тут еще в else {} включи код для Caption. Я не писал, думаю, ты понял все.
ID на странице-это свойство "Name" компонента. И в коде у тебя вроде стоит его изменение...Странно...Хотя-привыкай! Странности только начинаются! ![]() |
Сообщ.
#9
,
|
|
|
![]() ![]() <input name="CheckBox2" value="2" style=" font-family: Tahoma; font-size: 11px; cursor: default;" checked="checked" tabindex="0" id="CheckBox1" type="checkbox"> вот код, имя меняется а ид нет |
Сообщ.
#10
,
|
|
|
Добавил в код строку как эксперимент поле Image
повесил на другой обработчки события ![]() ![]() function DBRepeater1Detail($sender, $params) { $this->CheckBox->name="CheckBox".$this->MySQLTable1->A_ID; $this->Image1->Name="Image".$this->MySQLTable1->A_ID; if ($this->MySQLTable1->A_PRICE_CHECK==1) { $this->CheckBox->Caption="Оплачено"; $this->CheckBox->Checked=true; } else { $this->CheckBox->Caption=$this->MySQLTable1->A_ID; $this->CheckBox->Checked=false; } } смотрю html код ![]() ![]() <img id="Image1" src="" border="0" height="89" width="105"> <img id="Image2" src="" border="0" height="89" width="105"> <img id="Image3" src="" border="0" height="89" width="105"> с имейдж работает ![]() ![]() <table id="CheckBox1_table" style=" font-family: Tahoma; font-size: 11px; cursor: default;height:20px;width:120px;" cellpadding="0" cellspacing="0"> <tbody><tr><td width="20"><input name="CheckBox1" value="Оплачено" style=" font-family: Tahoma; font-size: 11px; cursor: default;" checked="checked" tabindex="0" id="CheckBox1" type="checkbox"></td><td><label for="CheckBox1">Оплачено</label></td></tr> </tbody></table> а чекбокс отказывается .. хелп ? ) |
Сообщ.
#11
,
|
|
|
Значит исходники нужно смотреть и править.
|
Сообщ.
#12
,
|
|
|
Цитата Alex2011 @ Значит исходники нужно смотреть и править. Эх, сам я вряд ли разберусь ( |
Сообщ.
#13
,
|
|
|
Думаю, что это не так просто окажется(правка исходников) -могут вылезти косяки с позиционированием элементов, так как правил CSS может не оказаться в сформированной странице для всех чекбоксов.(Уверен, что так и будет, если не использовать стили для них)
|
Сообщ.
#14
,
|
|
|
Причем чек бокс стоит внутри таблицы, а ID <table id="TCheckBox2_table" таблице передается
|
Сообщ.
#15
,
|
|
|
Для чего надо присваивать уникальное имя? Чтобы потом передать на сервер? Может оказаться, что все можно по-другому решить.
|