附加到容器div

时间:2016-01-21 10:45:47

标签: javascript jquery

我有这样的HTML:

<fieldset>
    <legend>Incassi previsionali</legend>
    <div class="sez-form">
        <table id="inc_prev">
        <tr>
            <td>
                <label>Mese: </label>
                <select name="mese[]" id="mese[]">
                    <option value="1">Gennaio</option>
                    <option value="2">Febbraio</option>
                    <option value="3">Marzo</option>
                    <option value="4">Aprile</option>
                    <option value="5">Maggio</option>
                    <option value="6">Giugno</option>
                    <option value="7">Luglio</option>
                    <option value="8">Agosto</option>
                    <option value="9">Settembre</option>
                    <option value="10">Ottobre</option>
                    <option value="11">Novembre</option>
                    <option value="12">Dicembre</option>
                </select>
            </td>
            <td>
                <label>Anno: </label>
                <select name="anno[]" id="anno[]">
                    <option value="<?php echo date("Y")-1; ?>"><?php echo date("Y")-1; ?></option>
                    <option value="<?php echo date("Y"); ?>" selected="selected"><?php echo date("Y"); ?></option>
                    <option value="<?php echo date("Y")+1; ?>"><?php echo date("Y")+1; ?></option>
                    <option value="<?php echo date("Y")+2; ?>"><?php echo date("Y")+2; ?></option>
                    <option value="<?php echo date("Y")+3; ?>"><?php echo date("Y")+3; ?></option>
                    <option value="<?php echo date("Y")+4; ?>"><?php echo date("Y")+4; ?></option>
                    <option value="<?php echo date("Y")+5; ?>"><?php echo date("Y")+5; ?></option>
                    <option value="<?php echo date("Y")+6; ?>"><?php echo date("Y")+6; ?></option>

                </select>
            </td>
            <td><label>Percentuale: </label><input value="" size="15" maxlength="14" class="importo" name="percent[]" type="text"/>%</td>
            <td><img class="addRow" src="../images/plus.png"></td>
        </tr>
    </table>
    </div>
</fieldset>

当我关注.importo输入然后将其聚焦时,我想将一些东西附加到容器div(底部)。 所以我试过了:

$(document).on('blur','.importo',function(){
    $(this).parents().eq(2).append('<p>Qui le singole previsioni</p>');
});

但是这会将文本添加到所有父元素直到第三级。 如何只在div的底部添加它? 另外,我应该使用.one来解雇一次吗?我实际上正在使用,因为用户可以根据需要添加尽可能多的这些字段集,并且每个字段集我只需要触发一次

这是fiddle

2 个答案:

答案 0 :(得分:3)

使用closest()定位您要附加的特定div。试试这个:

$(document).on('blur','.importo',function(){
    $(this).closest('.sez-form').append('<p>Qui le singole previsioni</p>');
});

Working example

答案 1 :(得分:3)

使用closest()代替parents()

$(document).on('blur','.importo',function(){
    $(this).closest("div.sez-form").append('<p>Qui le singole previsioni</p>');
});