我在数据表中有数据,其中有一个输入栏可以输入要填充的值,但是我在添加脚本以验证输入值不大于库存值时遇到问题?
样本https://jsfiddle.net/dm6hao5v/9
var tbobat = $('#dt-obat-proses').DataTable({
info: true,
keys: true,
language: {
zeroRecords: "No records"
},
"columns": [
{ "data": "id", "sClass": "text-center" },
{ "data": "nama_obat", "sClass": "text-left" },
{ "data": "kd_obat", "sClass": "text-left" },
{ "data": "stock", "sClass": "text-center" },
{ "data": "satuan", "sClass": "text-center" }
],
"columnDefs": [{
"width": "5%",
"targets": 0,
'render': function(data, type, full, meta) {
var cekObat = full.stock;
return '<div class=""> <label><input type="checkbox" name="select_obat[]" ' + (cekObat == 0 ? "disabled" : "") + ' class="toggle" value="' + $('<div/>').text(data).html() + '"></label></div>';
},
},
{
"width": "40%",
"targets": 1,
},
{
"width": "15%",
"targets": 2,
"render": function(data, type, full, row, meta) {
var cekObat = (full.stock == 0 ? "<label class='text-danger'>Stock Null</label>" : "");
var stock = full.stock;
if (type === 'display') {
data = '<input type="text" class="form-control add-jml" name="jumlah_obat[]" maxlength="4" max="' + stock + '"size="4" placeholder="" disabled> ' + cekObat;
}
return data;
}
},
{
"width": "20%",
"targets": 3,
},
{
"width": "20%",
"targets": 4,
}
]
});
$("#dt-obat-proses").on('change', '.toggle', function(e) {
$(this).closest('tr').find(':text').not(this).prop('disabled',!this.checked);
$(this).closest('tr').find(':text').not(this).prop('checked', false);
});
仅使用jQuery的解决方案1:
我们通过先选择当前父对象以到达下一个单元格来比较这些值,因为此处的一个单元格中有一个输入要与下一个单元格text()进行比较。