2013-11-13 1 views
0

Когда я запускаю свое веб-приложение, я получаю сообщение об ошибке «Ошибка выполнения JavaScript: объект не поддерживает свойство или метод« каждый », я пытаюсь создать легенду ниже или выше моего JQuery слайдер ...JQuery говорит, что этот объект не поддерживает «каждый»

здесь сценарии я использую

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 

<link rel="stylesheet" href="/resources/demos/style.css" /> 

и это мой JQuery скрипт

$(function() { 

     $("#slider-range").slider({ 

      range: true, 

      min: 0, 

      max: 100, 

      values: [0, 100], 

      animate: 'slow', 

         slide: function (event, ui) { 
       //$(ui.handle).find('span').html('$' + ui.value); 
       // 
       $("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]); 

          } 
      .each(function() { 

           // Get the options for this slider 
       var opt = $(this).data().uiSlider.options; 

       // Get the number of possible values 
       var vals = opt.max - opt.min; 

       // Space out values 
       for (var i = 0; i <= vals; i++) { 

        var el = $('<label>'+(i+1)+'</label>').css('left',(i/vals*100)+'%'); 

        $("#slider").append(el); 

       } 
      }) 
     }); 

     $("#amount").val("$" + $("#slider-range").slider("values", 0) + 

     " - $" + $("#slider-range").slider("values", 1)); 

    }); 

Любая помощь будет оценена.

Благодаря

+3

Подсказка: если отформатировать этот код правильно вам должен сразу увидеть ошибку. – elclanrs

+0

Вы знаете, я всегда задавался вопросом, почему код выглядел как беспорядок, я должен был правильно его форматировать. Я упоминал ниже, что я новичок в JQuery – Chris

+0

http://jsbeautifier.org/ полезен –

ответ

0

Вы подаете заявление each о вариантах объекта, который имеет только range, min, max, values и animate. Действительно, нет each.

+0

Итак, что мне не хватает, чтобы «легенда» была выше моего ползунка диапазона? – Chris

0

Вы звонили each() на функции обработчика слайд - неуместной })

$("#slider-range").slider({ 
    range: true, 
    min: 0, 
    max: 100, 
    values: [0, 100], 
    animate: 'slow', 
    slide: function (event, ui) { 
     //$(ui.handle).find('span').html('$' + ui.value); 
     // 
     $("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]); 

    }// <-- you had it here 
}).each(function() { 
    // Get the options for this slider 
    var opt = $(this).data().uiSlider.options; 
    // Get the number of possible values 
    var vals = opt.max - opt.min; 
    // Space out values 
    for (var i = 0; i <= vals; i++) { 
     var el = $('<label>' + (i + 1) + '</label>').css('left', (i/vals * 100) + '%'); 
     $("#slider").append(el); 
    } 
}); 
+0

Я исправил то, о чем вы говорили, но когда я его запустил, я получил еще одну ошибку JavaScript runtime error: не могу вызывать методы на слайдере до инициализации; попытался вызвать метод «значения» – Chris

0

Вы звоните .each() в том месте, что нужно сделать }).each(function() {

$(function() { 
    $("#slider-range").slider({ 
     range: true, 
     min: 0, 
     max: 100, 
     values: [0, 100], 
     animate: 'slow', 
     slide: function (event, ui) { 
      //$(ui.handle).find('span').html('$' + ui.value); 
      // 
      $("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]); 

     } 
    }).each(function() { //you each loop like this 

     // Get the options for this slider 
     var opt = $(this).data().uiSlider.options; 

     // Get the number of possible values 
     var vals = opt.max - opt.min; 

     // Space out values 
     for (var i = 0; i <= vals; i++) { 

      var el = $('<label>' + (i + 1) + '</label>').css('left', (i/vals * 100) + '%'); 

      $("#slider").append(el); 

     } 
    }) 
}); 
+0

Спасибо, это остановило ошибки, но ярлык не отображается. Простите меня, я новичок в JQuery – Chris

+0

@ user2970223 измените вы var 'el' как этот' var el = $ ('

+0

Я изменил, как вы сказали, но никакой метки ... это может показаться глупым, но я должен добавить что-то еще в свой файл css? – Chris

Смежные вопросы