0

我想在用户需要时将其他输入添加到表单中。但我使用的是范围滑块(jQrangeslider),我想在显示其他输入时调用它。

  • 我认为是否调用 jQrangeslider 并不是问题所在。但我将给出 HTML 使用的完整代码:

    时间:Jour
        <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/

4

1 回答 1

1

您添加的元素未绑定到单击事件,因为它们在绑定时不存在。您应该event delegation改用:

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

更多关于onhttp://api.jquery.com/on/event delegation

于 2013-03-31T16:25:28.090 回答