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
Форумы портала PHP.SU :: Версия для печати :: jQuery
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » jQuery

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

1. JoyStick - 12 Июля, 2012 - 15:52:20 - перейти к сообщению
<script type="text/javascript">
$(function(){
$('#activ, #dis').click(function (){
if ($('#dis').is(':checked')) {
$('#elementsToOperateOn input').attr('disabled', true);
}
if ($('#active').is(':checked')){
$('#elementsToOperateOn input').attr('enabled');
}
})
})
</script>

<form method="post" action="">
<input id="active" type="radio" name="toggle" />
<input id="dis" type="radio" name="toggle" />
<div id="elementsToOperateOn">
<input type="text" name="name" />
</div>
</form>

При выборе одного radiobutton input становиться не активным, а вот при выборе другого radiobutton нужно что бы оно становилось активным, но не хочет. Помогите кто чем может)
2. Alho - 12 Июля, 2012 - 16:14:47 - перейти к сообщению
К примеру так:
CODE (javascript):
скопировать код в буфер обмена
  1. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  2. <script type="text/javascript">
  3.         $(function(){
  4.                 $('#active').click(function (){
  5.                 $('#elementsToOperateOn input').removeAttr('disabled');
  6.                 });
  7.                 $('#dis').click(function (){
  8.                 $('#elementsToOperateOn input').attr('disabled', 'disabled');
  9.                 });
  10.  
  11.         })
  12. </script>
  13.  
  14. <form method="post" action="">
  15.                 <input id="active" type="radio" name="toggle" />
  16.                 <input id="dis" type="radio" name="toggle" />
  17.         <div id="elementsToOperateOn">
  18.                 <input type="text" name="name" />
  19.         </div>
  20. </form>


P.S. Оформляйте код в соответствующие теги.
3. JoyStick - 12 Июля, 2012 - 16:16:24 - перейти к сообщению
Благодарю)
4. armancho7777777 - 12 Июля, 2012 - 16:42:47 - перейти к сообщению
Alho, в jQuery 1.7 манипуляции с атрибутом disabled:

CODE (javascript):
скопировать код в буфер обмена
  1. if($('input:ceckbox').is(':disabled') == true)
  2. {
  3.     $('input:ceckbox').attr('disabled', false);
  4. }
  5. else
  6. {
  7.     $('input:ceckbox').attr('disabled', true);
  8. }
5. Viper - 13 Июля, 2012 - 09:03:10 - перейти к сообщению
armancho7777777 можно проще Улыбка

CODE (javascript):
скопировать код в буфер обмена
  1. $('input:ceckbox').attr('disabled', $(this).is(':disabled'));
6. armancho7777777 - 13 Июля, 2012 - 09:38:52 - перейти к сообщению
Что это?
Viper пишет:
CODE (javascript):
скопировать код в буфер обмена
  1. $('input:ceckbox').attr('disabled', $(this).is(':disabled'));
7. Viper - 13 Июля, 2012 - 09:51:35 - перейти к сообщению
armancho7777777 пишет:
Что это?
что именно?
is() возвращает true/false. Нет необходимости писать полную конструкцию if
8. armancho7777777 - 13 Июля, 2012 - 10:03:56 - перейти к сообщению
Так оно будет постоянно так одно значение возвращать.
9. Viper - 13 Июля, 2012 - 11:09:59 - перейти к сообщению
armancho7777777 в вашем случае это тоже самое.
10. armancho7777777 - 13 Июля, 2012 - 11:24:46 - перейти к сообщению
Да нет)
Вы что?
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. // Если неактивный
  3. if($('input:ceckbox').is(':disabled') == true)
  4. {
  5.     // То делаем активным
  6.     $('input:ceckbox').attr('disabled', false);
  7. }
  8. else
  9. {  
  10.     // ... а иначе делаем неактивным
  11.     $('input:ceckbox').attr('disabled', true);
  12. }
  13.  

Одним словом переключатель.
У Вас же делаем неактивным, если он изначально таким и был,
и наоборот, активным, если изначально он был активен))
В чём логика?)
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('input:ceckbox').attr('disabled', $(this).is(':disabled'));
11. tuareg - 13 Июля, 2012 - 11:56:46 - перейти к сообщению
Не мучайтесь все просто.
http://jsfiddle[dot]net/tuareg/zXWhT/
12. armancho7777777 - 13 Июля, 2012 - 12:04:09 - перейти к сообщению
Радость Радость
Блин, только дошло))
Извиняюсь))
13. armancho7777777 - 13 Июля, 2012 - 17:48:55 - перейти к сообщению
Только правильней всё же тогда так:
CODE (javascript):
скопировать код в буфер обмена
  1. $('input:ceckbox').attr('disabled', !$(this).is(':disabled'));

А не так:
CODE (javascript):
скопировать код в буфер обмена
  1. $('input:ceckbox').attr('disabled', $(this).is(':disabled'));
14. tuareg - 13 Июля, 2012 - 17:53:33 - перейти к сообщению
armancho7777777 пишет:
Только правильней всё же тогда так:
CODE (javascript):
скопировать код в буфер обмена
  1. $('input:ceckbox').attr('disabled', !$(this).is(':disabled'));

А не так:
CODE (javascript):
скопировать код в буфер обмена
  1. $('input:ceckbox').attr('disabled', $(this).is(':disabled'));

А почему не prop()? Он же специально для этого сделан? И быстрее должен работать?
15. armancho7777777 - 13 Июля, 2012 - 17:57:18 - перейти к сообщению
Я имел в виду синтаксис.
Предложенный код Viperа, как я и писал выше, не верен.

tuareg пишет:
А почему не prop()?

Я просто взял пример что выше.

 

Powered by ExBB FM 1.0 RC1