我有一个jquery可编辑数据表,所有列都是可编辑的。我想根据特定的单元格值启用/禁用单元格编辑。例如,在下表中,如果操作系统值为" Windows" make column" FileExtension"作为不可编辑的,如果操作系统的价值是" Unix"列#34;语言"不可编辑。
--------------------------------------------------
| OperatingSystem FileExtenstion Language |
--------------------------------------------------
| Windows non-editable editable |
| Unix editable non-editable |
| Windows non-editable editable |
--------------------------------------------------
通过Ajax源动态填充表。
$(document).ready(function () {
$("#dbResultsTable").dataTable({
"bServerSide": true,
"sAjaxSource": "/EditableTables/TableEditAjaxRequest",
"bProcessing": true,
"sPaginationType": "full_numbers",
"bJQueryUI": false,
"scrollX" : true,
"aoColumns": [
{ "sName": "OperatingSystem",
},
{
"sName": "FileExtenstion",
},
{
"sName": "Language",
}
]
}).makeEditable({
"aoColumns": [
{
cssclass: "required"
},
{
cssclass: "required"
},
{
cssclass: "required"
}
]
}
);
});
有可能吗?
答案 0 :(得分:0)
好的我找到了一种方法来做到这一点,我希望它有所帮助。
$("#dbResultsTable tr").live("mousedown", function() {
if ($(this).find("td:eq(0)").text()=="Windows") {
$(this).find("td:eq(1)").empty().unbind();
} else if($(this).find("td:eq(0)").text()=="Unix"){
$(this).find("td:eq(2)").empty().unbind();
}
});
注意: - 但是如果您的单元格有一些数据并且您已使用上述功能清除+禁用它,则不会更新服务器端的数据。您必须进行ajax调用并更新单元格数据。
如果有更好的方法,请告诉我,我很满意。