Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2011, 16:17
Новичок на форуме
Отправить личное сообщение для crowbar Посмотреть профиль Найти все сообщения от crowbar
 
Регистрация: 24.02.2011
Сообщений: 1

jQuery, не работает в ie, chrome и safari
Извеняюсь, если не в ту тему написал.
У меня проблема со скриптом, не работает в ие и браузерах на вебките.
По скрипту: при выборе определённого option отмечались нужные input, либо уходили в disabled.
Сам скрипт:
<script type="text/javascript" src="jquery.js"></script>
<script  type="text/javascript">
  <!-- 
$(document).ready(function() {
     $('#tarif option').click (function  () {
         if ($(this).is('#tarstand')){
              $('.rabstanc, .rabstanca, .rabstancd, .rabstancf, .servera, .sredsvosvd').attr('checked','checked');
              $('.rabstancb, .rabstance, .rabstancg, .rabstanch, .serverc, .serverf, .serverg, .serveri, .sredsvosva, .sredsvosvb, .sredsvosvf, .setba').removeAttr('checked');
              $('.rabstancf').removeAttr('disabled');
        }
         else if ($(this).is('#tarhelpd')){
              $('.rabstanc').attr('checked','checked');
              $('.rabstanca, .rabstancb, .rabstancd, .rabstance, .rabstancg, .servera, .serverc, .serverf, .serverg, .serveri, .sredsvosva, .sredsvosvb, .sredsvosvd, .sredsvosvf, .setba, .rabstancf').removeAttr('checked');
              $('.rabstancf').attr('disabled','disabled');
        }
         else if ($(this).is('#tarprem')){
              $('.rabstanc, .rabstanca, .rabstancb, .rabstancd, .rabstancf').attr('checked','checked');
              $('.rabstance, .rabstancg, .rabstanch').removeAttr('checked');
              $('.rabstancf').removeAttr('disabled');
        }
     });
});
//-->
</script>


разметка:

<form action=""> 
<fieldset> 
    <div><label>Тарифный план:</label><select id="tarif"> 
    <option value="100" id="tarhelpd">HelpDesk</option> 
    <option value="158" id="tarstand" selected="selected">Стандарт</option> 
    <option value="200" id="tarprem">Премиум</option> 
    </select></div> 
</fieldset> 
<fieldset> 
    <table> 
        <tbody> 
            <tr> 
                <td> 
<label>Базовая поддержка ПК</label> 
</td> 
                <td> 
 <input id="bazpodcomp" type="checkbox" class="rabstanc" /> 
</td> 
            </tr> 
            <tr> 
                <td> 
<label>Обслуживание стандартного офисного ПО</label> 
 </td> 
                <td> 
<input id="obsofispo" type="checkbox" class="rabstanc" /> 
   </td> 
            </tr> 
            <tr> 
                <td> 
         <label>Лицензирование программного обеспечения</label> 
                   </td> 
                <td> 
           <input id="licenspo" type="checkbox" class="rabstanc" /> 
            </td> 
            </tr> 
            <tr> 
                <td> 
 <label>Обслуживание Принтеров, сканнеров, МФУ</label> 
          </td> 
                <td> 
          <input id="obsprintscanmfy" type="checkbox" class="rabstanc" /> 
               </td> 
            </tr> 
            <tr> 
                <td> 
   <label>Антивирусная защита</label> 
        </td> 
                <td> 
           <input id="antishild" type="checkbox" class="rabstanca" /> 
            </td> 
            </tr> 
            <tr> 
                <td> 
          <label>Ограничение прав доступа</label> 
                           </td> 
                <td> 
        <input id="ogranpravdos" type="checkbox" class="rabstancb" /> 
                </td> 
            </tr> 
          ... 
            </tr> 
        </tbody> 
    </table> 
<div><input type="reset" value="Очистить" /></div> 
</fieldset> 
</form>

код с html не весь, но там всё по аналогии к определённому чекбоксу прописан класс, проверял в опере 11 и мазиле 3.6 - работает, а в ие 8, хроме 9 и сафари 5 - не работает, что я сделал не так?
Ответить с цитированием
  #2 (permalink)  
Старый 17.03.2011, 18:00
Аспирант
Отправить личное сообщение для kostr Посмотреть профиль Найти все сообщения от kostr
 
Регистрация: 12.09.2010
Сообщений: 98

По-моему, ИЕ просто не реагирует на click на option, только на самом select. Вот так и ИЕ работает:

$(document).ready(function() {
     $('#tarif').click (function() {
         var sel = $('#tarif option:selected')[0].id;
         if (sel == 'tarstand'){
              $('.rabstanc, .rabstanca, .rabstancd, .rabstancf, .servera, .sredsvosvd').attr('checked','checked');
              $('.rabstancb, .rabstance, .rabstancg, .rabstanch, .serverc, .serverf, .serverg, .serveri, .sredsvosva, .sredsvosvb, .sredsvosvf, .setba').removeAttr('checked');
              $('.rabstancf').removeAttr('disabled');
        }
         else if (sel == 'tarhelpd'){
              $('.rabstanc').attr('checked','checked');
              $('.rabstanca, .rabstancb, .rabstancd, .rabstance, .rabstancg, .servera, .serverc, .serverf, .serverg, .serveri, .sredsvosva, .sredsvosvb, .sredsvosvd, .sredsvosvf, .setba, .rabstancf').removeAttr('checked');
              $('.rabstancf').attr('disabled','disabled');
        }
         else if (sel == 'tarprem'){
              $('.rabstanc, .rabstanca, .rabstancb, .rabstancd, .rabstancf').attr('checked','checked');
              $('.rabstance, .rabstancg, .rabstanch').removeAttr('checked');
              $('.rabstancf').removeAttr('disabled');
        }
     });
});


Хрома и Сафари у меня нет, проверьте у себя.
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2011, 18:42
Аспирант
Отправить личное сообщение для lalala Посмотреть профиль Найти все сообщения от lalala
 
Регистрация: 04.03.2011
Сообщений: 87

попробуйте клик поменять на onchange для jquery .change кажется
Ответить с цитированием
  #4 (permalink)  
Старый 30.04.2012, 12:45
Новичок на форуме
Отправить личное сообщение для vg-rus Посмотреть профиль Найти все сообщения от vg-rus
 
Регистрация: 30.04.2012
Сообщений: 1

У меня вот эта конструкция не хочет работать в IE:
$("select#form_dropdown_AN_NCD option").click(function(){...}

Здесь отслеживаются клики непосредственно на каждой опции, но IE особенный.
матерился 1 день

Поменял на:
$("select#form_dropdown_AN_NCD").change(function(){...}

Здесь отслеживаем изменение значения формы выбора(select), не опции(option). Опция - это и есть значение. Если значение поменялось, значит был клик на определенной опции. Работает теперь и в IE.

Последний раз редактировалось vg-rus, 30.04.2012 в 12:56.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает аякс в jQuery Form Ticksy jQuery 4 19.07.2011 12:55
Не работает анимация jquery hugi jQuery 1 30.08.2010 20:25
Не работает jQuery меню с AJAX eugene1986 jQuery 0 08.07.2010 18:49
При наборе адреса с www не работает AJAX (JQuery)! madmis AJAX и COMET 3 23.11.2009 19:03
Safari + ajax некорректно работает, а в других работает demi AJAX и COMET 35 15.07.2009 14:11