我如何获取被点击的 <td> 的 ID 以供 jeditable 用于传递到 loaddata URL?

How do I get the ID of the clicked <td> for use by jeditable to pass into the loaddata URL?

我正在努力使用 jeditable 从 table 创建一个 JSON 值列表,然后将它们显示在 td 中以供选择,然后保存新值使用 save.php。但是,我的问题不在于 JSON。下面是 HTML td 我试图用 jeditable.

编辑
<td id="facility:95633" class="editable editfacility">Saint Lukes</td>

为了创建用于选择的下拉列表,我必须从单击的 td 中获取 id 的值,以便在 getListOfFacilities.php.

的 where 子句中使用
Function CellEditFunction( jQuery ) {
   Var submitdata = {};

$(".editfacility").editable("save.php", {
    type       : "select",
    submit     : "OK",
    style      : "inherit",
    loadurl    : "getListOfFacilities.php",
    Loaddata   : {recordID : this.id.split(":").pop()},
});
... and many, many more doing different things
} // End CellEditFunction

这里的问题是我总是收到一条错误消息:

“未捕获类型错误:this.id 未定义 CellEditFunction https://net-control.us/js/CellEditFunction.js:99"

第99行是loaddata定义。如果我预先定义(硬编码) var id="facility:95633"; 一切正常在 editable 定义之前,这告诉我其余代码正在运行。

所以我的问题变成了如何从点击的td中获取id的值?我用谷歌搜索并搜索了 SO 和 none 这些解决方案的工作,例如: 要么 var id = $('.editable').find("div:first").attr("id"); 但是使用 parent("td") 或 closest("td") 不会 return 值。

如果我尝试: var id = $(this).find('td:first').attr('id'); console.log("@95 id:"+id); 我在尝试使用 id 变量时遇到错误“Uncaught TypeError: id is undefined”

没有 id 变量,我无法提取填充下拉列表所需的数据。我希望有人能看到我遗漏了什么并帮助我解决这个问题。

var submitdata = {};
   $(".editfacility").click(function(){
      var recordID = $(this).attr("id").split(':').pop(); 
         submitdata['recordID'] = recordID;
            console.log(submitdata); 
   });

但是我发现我需要使用 loaddata : submitdata 而不是使用 submitdata : submitdata 否则它会出错。