使用jQuery对动态创建的元素进行事件绑定

时间:2017-09-07 17:55:19

标签: javascript jquery html

有人可以向我指出,在此代码中可以做的不同之处,因此On(' click')事件可以绑定到新插入的链接。 现在有一个链接在函数结束时被替换。但是在它被替换之后,它就不会再加上ON(' clicked')了。 任何建议都非常感谢。

(function(){
    var form, $this, info, modal;
    modal=$('#addPreviousCrop');
    form=modal.find('form').first();
    $("a[data-target='#addPreviousCrop']").on('click',function(){
        modal.find('.panel-heading h4').first().text('Update Previous Crop');
        $this=$(this);
        if($this.data('method')==='PATCH'){
            //get the record to be updated
            resetForm(form);
            $.get('dairyCrops/'+$this.data('id')+'/edit',function(data){
            populateForm(form,data,data.id);
        });
        }
        form.find('#company_field')
                .html(' <strong>'+$this.data('company_name')+' - '+$this.data('field')+'</strong>');
        form.find('input[name=acreage]').val($this.data('acreage'));
        form.find('select[name=dairy_crop_variety_id]').on('change',function(){
            var selVal=this.options[this.selectedIndex].text;
            form.find('input[name=seeding_rate]').val(getSeedingRate(selVal));
        });
        info = {property_id:$this.data('property_id'),status:'previous'};
    });

     //submit previous crop
    form.on('submit',function(e){
        e.preventDefault();
        $.when(submitAjaxRequest(this,info)).then(function(data, textStatus, jqXHR){
            modal.modal('hide');
            $this.closest('td').html(data.crop).slideDown('slow');
        });
    });
})();

0 个答案:

没有答案