2013-03-31 3 views
0

Я хочу добавить другие входы в форму всякий раз, когда им это нужно. , но я использую ползунок диапазона (jQrangeslider), и я хочу назвать его, когда отображаются другие входы. .добавьте другие входы, чтобы сформировать на blur

  • Я думаю, называя jQrangeslider или нет не то, что делает эту проблему .. но я дам полный код использование HTML является:

    Temps: Jo ур
    <input type="text" name="jour1" /> 
    </div> 
    <div class="span3"> <span class="top">Matin</span> 
    
        <div id="temp-g-1-"></div> 
    </div> 
    <div class="span3"> <span class="top">Soir</span> 
    
        <div id="temp-d-1-"></div> 
    </div> 
    

, и JS:

$(document).ready(function() { 
var jour = 1; 
$('input[name^="jour"]').on("blur", function() { 
    alert('called'); 
    jour = jour++; 
    $(this).closest('div[id^="jour"]').after('<br><div class="span3"></div><div id="jour' + jour + '"><div class="span3"><span class="top">Jour</span><input type="text" name="jour' + jour + '"/></div><div class="span3"><span class="top">Matin</span><div id="temp-g-' + jour + '-"></div></div><div class="span3"><span class="top">Soir</span><div id="temp-d-' + ++jour + '-"></div></div>'); 
    $('div[id^="temp-g-"]').editRangeSlider({ 
     valueLabels: "change", 
     durationIn: 1000, 
     durationOut: 1000, 
     type: "number", 
     bounds: { 
      min: 8, 
      max: 12 
     }, 
     defaultValues: { 
      min: 8, 
      max: 12 
     } 
    }); 
    $('div[id^="temp-d-"]').editRangeSlider({ 
     valueLabels: "change", 
     durationIn: 1000, 
     durationOut: 1000, 
     type: "number", 
     bounds: { 
      min: 14, 
      max: 18 
     }, 
     defaultValues: { 
      min: 14, 
      max: 18 
     } 
    }); 
}); 

});

jsfiddle пример (без jQrangeslider): http://jsfiddle.net/p4LWf/5/

ответ

1

Ваши добавленные элементы не связаны с событием щелчка, потому что они не присутствуют в момент привязки. Вы должны использовать event delegation вместо:

$('.row-form').on("blur",'input[name^="jour"]', function() { 
//code 
} 

Подробнее о on и event delegationhttp://api.jquery.com/on/

+0

Это не работает, если я ставлю его без $ (документ) .ready (функция() {}); – iguider

+0

@IderAghbal Конечно, это не будет :) документ не будет готов! Просто замените '$ ('input [name^=" jour "]'). On (" blur ", function() {' с '$ ('. Row-form'). On (" blur ", 'input [ name^= "jour"] ', function() {' – xpy

+0

: o Это работает: D Большое спасибо .. – iguider

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