有人可以向我指出,在此代码中可以做的不同之处,因此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');
});
});
})();