2014-02-19 3 views
0

Я просто получаю сообщение об ошибке в консоли , который Ссылка Ошибка: $ не определен. Вот почему мои данные формы не загружаются после нажатия кнопки радио. Не могли бы вы рассказать мне, в чем проблема в моем коде? Спасибо.

<form id='group'> 
<label><input type="radio" name="group1" class="sim-micro-btn"/></label> 
<label><input type="radio" name="group1" class="sim-mini-btn"/></label> 
<label><input type="radio" name="group1" class="sim-maxi-btn"/></label> 
<label><input type="radio" name="group1" class="sim-mega-btn"/></label> 
<label><input type="radio" name="group1" class="phone-smart-micro-btn"/></label> 
<label><input type="radio" name="group1" class="phone-smart-mini-btn"/></label> 
<label><input type="radio" name="group1" class="phone-smart-btn"/></label> 
<label><input type="radio" name="group1" class="phone-smart-maxi-btn"/></label> 
</form> 

<div class="billpay-internet-add-ons"> 
    <div class="sim-micro-desktop">sim-micro</div> 
    <div class="sim-mini-desktop">sim-mini</div> 
    <div class="sim-maxi-desktop">sim-maxi</div> 
    <div class="sim-mega-desktop">sim-mega</div> 
    <div class="phone-smart-micro-desktop">phone-smart-micro</div> 
    <div class="phone-smart-mini-desktop">phone-smart-mini</div> 
    <div class="phone-smart-desktop">phone-smart</div> 
    <div class="phone-smart-maxi-desktop">phone-smart-maxi</div> 
</div> 

<script> 
$('form#group').click(function(e) { 
    var className = e.target.className.replace('btn', 'desktop');  
    $('.' + className).show().siblings().hide(); 
}); 
</script> 
+1

'<скрипт SRC =" // code.jquery.com /jquery-1.10.2.min.js ">' – ashley

+0

Ваш jQuery скорее всего не будет включен в страницу или будет включен после этого. Это может произойти при использовании шаблонной системы, в которой jQuery находится в нижнем колонтитуле, и вы поместили код jQuery в содержимое страницы. – SmokeyPHP

+0

@ashley вы правы. Принято, но появляется еще одна ошибка: «Ошибка: ошибка синтаксиса, нераспознанное выражение:. \t ... nction (e) {var t, n = "", r = 0, i = e.nodeType; if (i) {if (1 === i || 9 === i || 11 === i) {if ("string" ... ' – Babu

ответ

1

Вам не хватает ссылки на библиотеку jQuery.


Добавить библиотеку JQuery, прежде чем использовать JQuery

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 

<script> 
$('form#group').click(function(e) { 
    var className = e.target.className.replace('btn', 'desktop');  
    $('.' + className).show().siblings().hide(); 
}); 
</script> 
+1

Отличный ответ. Спасибо. – Babu

+0

@Babu Добро пожаловать, помогите :) –

0

Кажись, как вы пропустили основные JQuery файлы, вы можете добавить этот скрипт перед использованием кода JQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script> 
    $(function() { 
     $('form#group').click(function(e) { 
      var className = e.target.className.replace('btn', 'desktop');  
      $('.' + className).show().siblings().hide(); 
     }); 
    }) 
</script> 

вы также необходимо обернуть код внутри готового обработчика DOM, чтобы убедиться, что все элементы DOM готовы до выполнения вашего кода.

1

Отсутствующие JQuery библиотеку и вы должны использовать функции JQuery, только если DOM готова

Заменить JScript по:

$(function() { 
$('form#group').click(function(e) { 
    var className = e.target.className.replace('btn', 'desktop');  
    $('.' + className).show().siblings().hide(); 
}); 
}); 
Смежные вопросы