验证动态生成的输入字段以及静态字段

时间:2013-12-24 18:46:01

标签: jquery validation

$(function () {
    var scntDiv = $('#p_scents');

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

    $('#addScnt').live('click', function () {

        $('.buttonaddrate').hide(); //first time hide add button
        $('<p style="float:left;"><span style="float:left;">For</span>\
                        <input type="text" id="people' + i + '" name="people[]" value="" placeholder="People" class=" one columns people" />\
                         <input type="text" id="rate' + i + '" name="rate[]" value="" style="margin-right:4px; margin-left:3px;" placeholder="Rate" class=" one columns  rate" />\
                    <span style="float:none; margin-left:8px;" class="removerate" id="removethis"><a class="button large_button delete"  id="remScnt"><span></span>rate</a></span><span class="buttonaddrate"><a class="button large_button add" id="addScnt"><span></span>rate</a></span></p>').appendTo(scntDiv);

        i++;
        return false;

    });
    //remove button code
    $('#remScnt').live('click', function () {

        if (i > 2) {
            $(this).parents('p').remove();
            $('.buttonaddrate').hide();
            i--;
        }
        //this code append add button to previous remove button
        if (i = $('#p_scents p').size() - 1) {

            $('<p style="float:left;"> <span class="buttonaddrate"><a class="button large_button add dd" id="addScnt"><span></span>rate</a></span></p>').appendTo(scntDiv);

        }

        return false;
    });

});

3 个答案:

答案 0 :(得分:0)

使用==if声明中进行比较

if (i == $('#p_scents p').size() - 1) {
       ^

答案 1 :(得分:0)

您必须将单击或其他功能绑定到选择器,但不要将文档准备就绪。如果您在$(document).ready中执行此操作,则在您连接事件时该元素将不存在,因此永远不会触发。

答案 2 :(得分:0)

.live()是一个已弃用的函数(从1.7+开始)和

完全从jQuery 1.9 +中删除。

您可以使用.on().bind()方法或

使用onClick属性

分配函数