0

我有一个 jquery 可编辑数据表,所有列都是可编辑的。我想根据特定的单元格值启用/禁用单元格编辑。例如在下表中,如果操作系统值为“Windows”,则将列“FileExtension”设为不可编辑,如果操作系统值为“Unix”,则将“语言”列设为不可编辑。

 --------------------------------------------------
| 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"
                          }
                      ]
                      }
                      );
    });

是否可以 ?

4

1 回答 1

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 调用并更新单元格数据。

请让我知道是否有更好的方法来做到这一点,我全神贯注。

于 2015-01-31T07:47:08.247 回答