Edição embutida datável sem plug-in de editor

Eu estava usando o plugin 'editor' para a tabela de dados e o seguinte era o código:

Editor de tabela de dados definido como:

        editor = new $.fn.dataTable.Editor( {
        ajax: '/contact/' + Contact.id,
        table: "#contact-datatable",
        fields: [ {
                    name: "id",
                  }, {
                    name: "category",
                    type: "check",
                    options: [
                              { label: 'Science', value: "Science" },
                              { label: 'Maths', value: 'Maths' },
                              { label: 'Economics', value: 'Economics' },
                             ]
                 }
                    ................
              ]
    });

.....

$('#contact-datatable').on( 'click', 'tbody td:not(:first-child)', function (e) {
                editor.inline( this, { submitOnBlur: true } );
            } );

Anexando a página com isso: Quando clicamos em Categoria, ele mostra um menu suspenso para edição (usando o plugin do editor).

Mas o problema é que o plug-in do editor de tabelas de dados não é de código aberto e meu projeto não permite um plug-in pagável.

Alguém pode me ajudar na edição em linha em tabelas de dados sem o plug-in 'editor'?

A seguir está o código que escrevi sem editor:

Contact.dataTable = $('#contact-datatable').dataTable( {
        "ajax": {
                "url" : '/Contact/list/' + Contact.id,
                "dataSrc": function(check) {
                   check.id = Contact.id;
                   return json.check;
                  },
                },
            "responsive": true,
            "order": [],
            "columns": [
                { "data": "id"},
                { "data": "category" },
                { "data": "course" },
                ]
        } );

Categoria e Curso será um menu suspenso - e isso deve ser editado em linha. Abaixo anexado um exemplo de página.

Preciso de 'Categoria' como menu suspenso do editor embutido e, em seguida, haverá um botão para salvar

questionAnswers(2)

yourAnswerToTheQuestion