Jquery 内联编辑器插件在下拉列表中保存数字 select

Jquery Inline editor plugin saving numbers on dropdown select

美好的一天,

我有一个带有 jQuery 插件的数据table,它使它成为 editable 并将所有 table 行转换为文本。 需要为 select 创建一个下拉菜单并在数据库中存储 selected 的内容。 一切都很好,因为插件可以选择使用 select 选项创建行,这里的问题是我在数据库中的字段是基于 VARCHAR 的,插件只在 selected 下拉字段。 所以我不能将数据库字段更改为 ENUM,因为它会删除或更改已经存在的数据,这可能是个问题。

当我点击“编辑”并查看下拉选项时所看到的示例:

当我点击“保存”按钮时,它在数据库中显示:

发生这种情况是因为数据库中的列类型是 VARCHAR,而插件需要它是 ENUM 才能将数据读取为文本。

这是绘制 table 和编辑插件数据的代码:

$(document).ready(function(){

 var dataTable = $('#tabla_clientes').DataTable({
    "language": {
        "url": "https://cdn.datatables.net/plug-ins/1.10.20/i18n/Spanish.json"
    },  
  "processing" : true,
  "serverSide" : true,
  "order" : [],
  "ajax" : {
   url:"fectch.php",
   type:"POST"
  }
 });     
$('#tabla_clientes').on('draw.dt', function(){
      $('#tabla_clientes').Tabledit({
       url:'action.php',
       deleteButton: false,
       autoFocus: false,
        buttons: {
            edit: {
                class: 'btn btn-sm btn-primary',
                html: '<span class="glyphicon glyphicon-pencil"></span> &nbsp Editar',
                action: 'edit'
            }
    
    
        },
       dataType:'json',
       columns:{
        identifier : [0, 'id_customer'],
        editable:[[1, 'customerID'], [2, 'RFC'], [3, 'firstname'], [4,'lastname'],[5,'email'],[6, 'tipo_cliente','{"1":"CONTADO","2":"CREDITO"}']]
       },
       restoreButton:false,
       onSuccess:function(data, textStatus, jqXHR)
       {
      
       }
      });
     });

我已经在互联网上做了一些研究,但我找不到任何人提供解决方案或解决这个问题。 就像我说的,我不能简单地将字段更改为 ENUM,因为有很多信息可能会因为类型更改而被更改或删除。

有谁知道在select输入下拉信息时将值存储为 VARCHAR 类型文本的解决方案?

感谢您的耐心等待。祝你有美好的一天。

我已经找到了一个非常简单的解决方法。

而不是直接将值作为数据库中的数字添加。

添加了一个 IF 来比较数字并将文本存储在变量上。

$tipo_cliente = $_POST['tipo_cliente'];
    $sitio = $_POST['sitio']
    if ($tipo_cliente == 1) {
        $tipo_cliente = 'CONTADO';
    } else
    {
        $tipo_cliente = 'CREDITO';
    }