0

我有来自Datatables的 Editable ,我需要做的是在向表中添加新项目时使“浏览器”字段可编辑,例如不可编辑。编辑时“标记”。添加是通过按钮开始的,编辑是通过单击行开始的。所以我可以为这些操作添加一些东西,但我不知道我是否可以轻松地更改字段类型。

ediTable({ fields: [{ name: 'Engine', type: 'select',
        selectOptions: ENGINE_OPTIONS
    },
                { name: 'Browser', type: 'text' },
                { name: 'Version', type: 'label' },
                { name: 'Platform', type: 'label' },
                { name: 'Grade', type: 'select', selectOptions: ['A', 'B', 'C', 'D', 'X'] },
                { name: 'Active', type: 'checkbox', trueValue: 'Y', falseValue: 'N'}]

我试图添加到按钮的代码但没有任何改变:

// edit the new row
emptyTable.ediTable('newRow', defaultData, { name: 'Browser', type: 'label' }); return false;
4

1 回答 1

0

事实证明,不能更改字段的类型,但要在添加新项目时使其可编辑,您可以检查Row参数,onPreShowForm然后更改字段的属性。

当传递Row为空时,我们知道显示表单以输入新行,当Row不为空时,我们显示表单以修改数据。

onPreShowForm: function (table, form, row) {
                $("#btn-new").addClass("ui-state-disabled");

                browserInput = $('input[name|="Browser"]');
                if (row) {
                    browserInput.addClass("ui-state-disabled");
                    browserInput.attr("disabled", "disabled");
                } else {
                    browserInput.removeClass("ui-state-disabled");
                    browserInput.removeAttr("disabled");
                }
            }
于 2012-11-07T08:57:54.193 回答