单击复选框,禁用行进行编辑 -Jquery,Jeditable,Datatable
On click of checkbox ,disable row for edit -Jquery,Jeditable,Datatable
我在我的项目中使用 Jquery、Jeditable 和 Datatable。
我有一个 table,它有 4 个动态列 generated.I 已经编写了代码,当您单击it.The第4列,"Main Region"是复选框的一列。
我的要求是选中复选框后,我想在非 edi 行中设置相应的最小值和最大值table。
这是我的 html
<table id="places" class="display" cellspacing="0" width="50%" >
<thead>
<tr>
<th>Places</th>
<th>Min Score</th>
<th>Max Score</th>
<th>Main Region</th>
</tr>
</thead>
<tbody>
<% i=0 %>
<% for scores_place in socres_array %>
<tr>
<td class="readonly" align="center"><%= scores_place.at(0) %></td>
<td align="center" class="min"><%= min.at(i) %></td>
<td align="center" class="max"><%= max.at(i) %></td>
<td align='center' class='readonly'><input type='checkbox' class='place_checkbox'></td>
<% i=i+1 %>
</tr>
<% end %>
</tbody>
</table>
这是我的 jquery,它没有按预期工作。
$(document).ready(function() {
var oTable=$('#places').dataTable({
} );
//call back function to make min and max editable on click of table cell.
var theCallback = function(v, s) {
return v;
};
$(oTable).find('td:not(.readonly)').editable(theCallback, {
"callback": function(sValue, y) {
var aPos = oTable.fnGetPosition(this);
oTable.fnUpdate(sValue, aPos[0], aPos[1]);
},
"height": "18px",
"width": "100%"
});
//This is not working as expected because of the call back function written above
$('.place_checkbox').change(function(){
var row = $(this).closest('tr');
if($(this).is(':checked'))
{
$(row).find('.min,.max').prop("disabled",true);
}
else
{
$(row).find('.min,.max').prop("disabled",false);
}
})
});
试试这个
$(row).find('.min,.max').editable("disable");
$(row).find('.min,.max').editable("enable");
我在我的项目中使用 Jquery、Jeditable 和 Datatable。
我有一个 table,它有 4 个动态列 generated.I 已经编写了代码,当您单击it.The第4列,"Main Region"是复选框的一列。
我的要求是选中复选框后,我想在非 edi 行中设置相应的最小值和最大值table。
这是我的 html
<table id="places" class="display" cellspacing="0" width="50%" >
<thead>
<tr>
<th>Places</th>
<th>Min Score</th>
<th>Max Score</th>
<th>Main Region</th>
</tr>
</thead>
<tbody>
<% i=0 %>
<% for scores_place in socres_array %>
<tr>
<td class="readonly" align="center"><%= scores_place.at(0) %></td>
<td align="center" class="min"><%= min.at(i) %></td>
<td align="center" class="max"><%= max.at(i) %></td>
<td align='center' class='readonly'><input type='checkbox' class='place_checkbox'></td>
<% i=i+1 %>
</tr>
<% end %>
</tbody>
</table>
这是我的 jquery,它没有按预期工作。
$(document).ready(function() {
var oTable=$('#places').dataTable({
} );
//call back function to make min and max editable on click of table cell.
var theCallback = function(v, s) {
return v;
};
$(oTable).find('td:not(.readonly)').editable(theCallback, {
"callback": function(sValue, y) {
var aPos = oTable.fnGetPosition(this);
oTable.fnUpdate(sValue, aPos[0], aPos[1]);
},
"height": "18px",
"width": "100%"
});
//This is not working as expected because of the call back function written above
$('.place_checkbox').change(function(){
var row = $(this).closest('tr');
if($(this).is(':checked'))
{
$(row).find('.min,.max').prop("disabled",true);
}
else
{
$(row).find('.min,.max').prop("disabled",false);
}
})
});
试试这个
$(row).find('.min,.max').editable("disable");
$(row).find('.min,.max').editable("enable");