使用jquery动态创建输入文本字段,导致重复字段

时间:2013-11-07 14:57:56

标签: javascript jquery

我正在尝试将以下代码集成到我的网站中,该网站动态创建输入文本字段。

$(function() {
    var scntDiv = $('#p_scents');
    var i = $('#p_scents p').size() + 1;

    $('#addScnt').live('click', function() {
        $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
        i++;
        return false;
    });

    $('#remScnt').live('click', function() {
        if (i > 1) {
            $(this).parents('p').remove();
            i--;
        }
        return false;
    });
});

现在这可以工作,除了它创建重复的输入字段,我认为它与下面的函数jQuery(函数($)有关,因为当我删除它时没有重复。

以下代码会导致什么?

jQuery(function($){

    var jcrop_api;

    $('#target').Jcrop({
        onChange:   showCoords,
        onSelect:   showCoords,
        onRelease:  clearCoords
    }, function() {
        jcrop_api = this;
    });

    $('#coords').on('change','input',function(e) {
        var x1 = $('#x1').val(),
            x2 = $('#x2').val(),
            y1 = $('#y1').val(),
            y2 = $('#y2').val();

        jcrop_api.setSelect([x1,y1,x2,y2]);
    });
});

function showCoords(c) {
    $('#x1').val(c.x);
    $('#y1').val(c.y);
    $('#x2').val(c.x2);
    $('#y2').val(c.y2);
    $('#w').val(c.w);
    $('#h').val(c.h);
};

function clearCoords() {
    $('#coords input').val('');
};   

0 个答案:

没有答案