JQuery проверить на слайдере - PullRequest
       7

JQuery проверить на слайдере

1 голос
/ 14 августа 2011

Форма имеет несколько ползунков наряду с другими входами.

Все остальные входы проверяют поиск, но возникают проблемы с проверкой ползунка jquery

Код для добавления ползунка

$(".jSlider").each(function(){
   var id = $(this).attr("id");
   var sliderID = id + "_slider";   
    var newSlider = '<div style="padding-top:30px;padding-right:10px;background: #fff url(/images/scrollerBg.png) no-repeat;" id="sliderContainer" ><div style="background: #555" id="slider"></div></div><br />';
    $(this).append(newSlider);
   $(this).closest('fieldset').find('input:text').css("display", "none");
    $("#slider", this).slider({
        value:0,
        min: 0,
        max: 10,
        orientation: "horizontal",
        range: "min",
        step: 1,
        animate: true,
        change: function( event, ui ) {
            $(this).closest('fieldset').find('input:text').val(ui.value);
              // was adding error manually cause of background image being used
            $(this).closest('fieldset').find('div.jSliderError').slideUp('fast', function(){
                $(this).remove();
            });
            }

    });

  });

Здесьявляется одним из наборов полей, которые генерируются

<fieldset class="q_default required jSlider fixFirefox" id="q_423" name="8) On a scale of 0 to 10 how did you like it?"><legend><span>8) On a scale of 0 to 10 how did you like it?</span></legend><ol><span class='help'></span>
    <input id="r_8_question_id" name="r[8][question_id]" type="hidden" value="423" />


    <input class="" id="r_8_answer_id" name="r[8][answer_id]" type="hidden" value="8782" />
    <li class="string optional" id="r_8_string_value_input"><input id="r_8_string_value" maxlength="255" name="r[8][string_value]" type="text" /></li>
    </ol></fieldset>

1 Ответ

2 голосов
/ 14 августа 2011

Я заметил две вещи:

1: вы объявляете $("#slider", this).slider({.. внутри $.each(), что означает, что вы можете перезаписывать свои параметры на #slider каждую итерацию.

2: Вы используете $(this).closest('fieldset').find('input:text').val(ui.value); внутри change: function(){}, который может не проходить правильно, особенно если он ищет #select и их несколько.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...