添加其他输入以形成模糊

时间:2013-03-31 15:29:23

标签: javascript jquery html

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

  • 我认为调用jQrangeslider与否不是导致问题的原因..但我会给出完整的代码 HTML的用途是:

    临时工:      怨妇
        <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 个答案:

答案 0 :(得分:1)

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

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

有关onevent delegation http://api.jquery.com/on/

的详情