我使用JTable来显示表单数据,并且似乎遇到一个问题,即自定义输入都显示第一个输入的值。应该发生什么,每个输入应该根据所选的datepicker数据保存它自己的值。
但是,如果单击第二个输入,则会在输入中显示正确的日期,但是当我单击按钮时,返回的值是输入1的值。
我要做的就是,获取点击事件的输入值。
如果有人能够解决我出错的地方,我会感激不尽,因为我还在学习JTable和jQuery。非常感谢。
//function to amend and destroy boxes
$(function() {
//Prepare jTable
$('#setDestScheduleShow').jtable({
title: 'Box Destruction Schedule',
paging: true,
pageSize: 5,
pageSizes: [5, 10, 25, 50, 100, 250, 500],
messages: {
pagingInfo: 'Showing {0} to {1} of {2} records',
editRecord: 'Edit Box Record'
},
sorting: true,
defaultSorting: 'destroy_date ASC',
actions: {
listAction: '../users/destroySchedDisp.php?action=list',
//createAction: '../users/destroySchedDisp.php?action=create',
//updateAction: '../users/destroySchedDisp.php?action=update',
//deleteAction: '../users/destroySchedDisp.php?action=delete'
},
fields: {
Id: {
key: true,
title: 'Id',
width: '2%',
list: false
},
customer: {
title: 'Co Ref',
width: '10%',
list: false
},
intake_date: {
title: 'Intake Date',
width: '14%',
type: 'date',
displayFormat: 'dd/mm/yy'
},
destroy_date: {
title: 'Destroy Date',
width: '14%',
type: 'date',
displayFormat: 'dd/mm/yy'
},
custref: {
title: 'Box No',
width: '14%'
},
amend: {
title: 'Amend Date',
width: '12%',
sorting: false,
type: 'date',
display: function(data) {
return '<input type="text" name="MyName" onclick="dpicker();" />'; **<--- THIS IS THE INPUT**
}
},
sendbtn: {
title: 'Update',
width: '12%',
sorting: false,
display: function(data) {
var $button = $('<input type="button" class="destBtn" name="destUpdBtn" value="Update" />');
$button.click(function() {
temp();
});
return $button;
}
}
}
});
$('#setDestScheduleShow').jtable('load');
});
function dpicker() {
$('input[name="MyName"]').datepicker({
changeMonth: true,
changeYear: true,
yearRange: '2011:2037',
dateFormat: 'dd/mm/yy',
minDate: 0,
defaultDate: null
});
};
function temp() {
var $temper = $('input[name="MyName"]').val();
alert($temper);
}