Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сразу вызвать функцию

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pantela
Отправлено: 01 Ноября, 2012 - 13:06:49
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Как при загрузке страницы можно сразу вызвать функцию.
CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2.                         jQuery(document).ready(function($){
  3.                                 /**
  4.                                 * selecting all checkboxes
  5.                                 */
  6.                                 $ui.find('.sb_dropdown').find('label[for="all"]').prev().bind('click',function(){
  7.                                         $(this).parent().siblings().find(':checkbox').attr('checked',this.checked).attr('disabled',this.checked);
  8.                                 });
  9.             });
  10.         </script>


только без тега того варианта что бы в body прописать её...

(Отредактировано автором: 01 Ноября, 2012 - 13:07:04)

 
 Top
halsoft
Отправлено: 01 Ноября, 2012 - 13:09:09
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Нояб. 2012  
Откуда: The Land of Chechens


Помог: 3 раз(а)




Какую функцию? Или вы имеет ввиду все, что находится в ready блоке? А она разве сразу не вызывает при загрузке страницы?


-----
Хорошие дела улучшают настроение, делают жизнь счастливей, а людей человеками.
 
 Top
AlexAnder
Отправлено: 01 Ноября, 2012 - 13:54:13
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <body onload="fn()">
  2. ...
  3. </body>
CODE (html):
скопировать код в буфер обмена
  1. <body>
  2. ...
  3. </body>
  4. <script>
  5. fn()
  6. </script>

(Отредактировано автором: 01 Ноября, 2012 - 13:54:41)



-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
pantela
Отправлено: 01 Ноября, 2012 - 14:52:01
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




спс, но я же ясно написал что мне надо без body...
а точнее дествие надо что бы срабатывало бы сразу которое весит на собитии click
 
 Top
IllusionMH
Отправлено: 01 Ноября, 2012 - 15:16:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




pantela, а что мешает сразу и "кликнуть" по этой кнопке из скрипта(коммент в конце кода)
CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2. jQuery(document).ready(function($){
  3.   var fn =  function() {
  4.     $(this).parent().siblings().find(':checkbox').attr('checked',this.checked).attr('disabled',this.checked);
  5.     };
  6.   /**
  7.   * selecting all checkboxes
  8.   */
  9.   $ui.find('.sb_dropdown').find('label[for="all"]').prev().bind('click', fn);
  10.   fn();
  11.   //либо попробовать без выноса функции и сразу вызвать
  12.   //$ui.find('.sb_dropdown').find('label[for="all"]').prev().bind('click', fn/*код функции не выносится в переменную*/).trigger("click");
  13. });
  14. </script>


AlexAnder, во втором коде промахнулись
"http://www.w3.org/TR/html4/interact/scripts.html#h-18.2.2" пишет:
The SCRIPT element places a script within a document. This element may appear any number of times in the HEAD or BODY of an HTML document.

(Отредактировано автором: 01 Ноября, 2012 - 15:17:47)

 
 Top
AlexAnder
Отправлено: 01 Ноября, 2012 - 15:29:39
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




pantela пишет:
спс, но я же ясно написал что мне надо без body...
а точнее дествие надо что бы срабатывало бы сразу которое весит на собитии click

CODE (javascript):
скопировать код в буфер обмена
  1. <div id="main/content">
  2. ...
  3. </div>
  4. <footer>
  5. ...
  6. </footer>
  7. <script>
  8. document.click()
  9. </script>

(Отредактировано автором: 01 Ноября, 2012 - 15:30:13)



-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
halsoft
Отправлено: 01 Ноября, 2012 - 17:56:55
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Нояб. 2012  
Откуда: The Land of Chechens


Помог: 3 раз(а)




Попробуйте так
Спойлер (Отобразить)


P.S. IllusionMH опередил ) все же, делайте так, так лаконичнее.

(Отредактировано автором: 01 Ноября, 2012 - 17:59:16)



-----
Хорошие дела улучшают настроение, делают жизнь счастливей, а людей человеками.
 
 Top
pantela
Отправлено: 02 Ноября, 2012 - 11:25:49
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Как работает функция: Функция делает чекбокс all активным и при этом все чекбоксы становятся активными.

halsoft - при вашем примере так отмечается но другие чекбоксы не отмечаются...

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <ul class="sb_dropdown" style="display:none;">
  3. <li><input type="checkbox"/><label for="all"><strong>Все</strong></label></li>
  4. <li><input type="checkbox"/><label for="Automotive">Категория 1</label></li>
  5. <li><input type="checkbox"/><label for="Baby">Категория 2</label></li>
  6. <li><input type="checkbox"/><label for="Beauty">Категория 3</label></li>
  7. <li><input type="checkbox"/><label for="Books">Категория 4</label></li>
  8. <li><input type="checkbox"/><label for="Electronics">Категория 5</label></li>
  9. <li><input type="checkbox"/><label for="Gourmet">Категория 6</label></li>
  10. </ul>

(Отредактировано автором: 02 Ноября, 2012 - 11:26:15)

 
 Top
halsoft
Отправлено: 02 Ноября, 2012 - 12:15:56
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Нояб. 2012  
Откуда: The Land of Chechens


Помог: 3 раз(а)




Вы хотите, чтобы все чекбоксы по-умолчанию были checked? Нельзя просто прописать им атрибут checked при формировании страницы?


-----
Хорошие дела улучшают настроение, делают жизнь счастливей, а людей человеками.
 
 Top
IllusionMH
Отправлено: 02 Ноября, 2012 - 13:58:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




pantela, не вижу соответствующих всем for атрибутов id у input'ов.
Цитата:
for = idref [CS]
This attribute explicitly associates the label being defined with another control. When present, the value of this attribute must be the same as the value of the id attribute of some other control in the same document. When absent, the label being defined is associated with the element's contents.

Так что можно смело убирать for у label и вносить input[/b] внутрь label
присвойте соответствующему чекбоксу класс selall(к примеру) и не парьтесь с долгим получением нужного объекта.
CODE (html):
скопировать код в буфер обмена
  1. <ul class="sb_dropdown">
  2. <li><label><input type="checkbox" class="selectall"/><strong>Все</strong></label></li>
  3. <li><label><input type="checkbox"/>Категория 1</label></li>
  4. <li><label><input type="checkbox"/>Категория 2</label></li>
  5. <li><label><input type="checkbox"/>Категория 3</label></li>
  6. <li><label><input type="checkbox"/>Категория 4</label></li>
  7. <li><label><input type="checkbox"/>Категория 5</label></li>
  8. <li><label><input type="checkbox"/>Категория 6</label></li>
  9. </ul>

А если по теме - проблема в том, что событие onclick срабатывает до того, как меняется значение checked
CODE (javascript):
скопировать код в буфер обмена
  1. jQuery(document).ready(function($) {
  2.     /**
  3.      * selecting all checkboxes
  4.      */
  5.     $ui.find('.sb_dropdown .selectall').bind('change', function() {
  6.         $(this).parents("li").siblings().find(':checkbox').attr('checked', this.checked).attr('disabled', this.checked);
  7.     }).trigger("click");
  8. });
 
 Top
pantela
Отправлено: 05 Ноября, 2012 - 10:18:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Ок попробую ваши примеры, но грубо сказать пример скрипта тут http://tympanus[dot]net/Tutorials/UI[dot][dot][dot]ments/SearchBox/
Вот и мне надо что бы при разворочивании сноски категории что бы там по умолчанию все категории были отмечены.

Update: Ваш пример работает, вот только при нём даже если я не кликаю на поле ввода, сноска категории сразу введна, тогда приходиться мышкой навести на сноску и убрать и тогда скрывается...
Добавил параметр display:none; в ul
+
Мне наверное к полю input надо будет добавтть параметр name=""

А зечем нам уже нужен тег <label>...</label>

(Отредактировано автором: 05 Ноября, 2012 - 10:36:42)

 
 Top
IllusionMH
Отправлено: 06 Ноября, 2012 - 09:45:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




pantela, не заметил предложенных изменений на той странице, так что хз как оно работает.
pantela пишет:
Ваш пример работает, вот только при нём даже если я не кликаю на поле ввода, сноска категории сразу введна, тогда приходиться мышкой навести на сноску и убрать и тогда скрывается...

Ну вы пошутили. Откуда я знал какая страница у вас
pantela пишет:
Мне наверное к полю input надо будет добавтть параметр name=""

логичнее value добавить соответствующие
pantela пишет:
А зечем нам уже нужен тег <label>...</label>

Вы хоть знаете для чего он предназначен? Чтобы можно было нажать на текст, относящийся к чекбоксу/радиабатону и он изменил значение.
А тем кто так не делает будет сильно икаться Нахмурился

(Отредактировано автором: 06 Ноября, 2012 - 10:48:06)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB