我刚接触x-editable和jQuery,所以我在理解如何使用x-editable获取被点击元素的"id“时遇到了问题,希望有人能帮上忙。
在我的页面上名为#line_item_unit_cost的div中有几个链接。
<div id="line_item_unit_cost">
<a id="1">link</a>
<a id="2">link</a>
<a id="3">link</a>
<a id="4">link</a>
<a id="5">link</a>
</div>当我单击其中一个链接时,我正在启动一个x-editable脚本,它将允许我进行内联编辑。我遇到的问题是,我需要传递我正在处理的行项,以便我可以更新我的数据库。我不知道如何(或者我做错了)访问我点击的链接的"id“。
下面是我的脚本:
$('#line_item_unit_cost a').editable({
validate: function(value) {
if($.trim(value) == '') return 'This value is required.';
},
type: 'text',
url: '/post',
pk: {{ purchaseOrder.id }},
title: 'Enter Value',
params: {
purchaseOrderId : {{ purchaseOrder.id }} ,
lineId : $(this).attr("id"),
text: 223
},
ajaxOptions: {
dataType: 'json'
},
success: function(response, newValue) {
}
});这一行: lineId:$( This ).attr("id")给我一个空值。
如果我使用lineId:$("#line_item_unit_cost a").attr( "id“)会一直拉出页面的”id“上的第一个实例,而不是正在编辑的那个。
有人知道如何使用x-editable获取我点击的链接的id吗?
非常感谢!
发布于 2013-04-17 01:43:35
决定我将提供解决方案,而不是删除帖子,以防其他任何人需要这个…
$('#line_item_unit_cost a').editable({
validate: function(value) {
if($.trim(value) == '') return 'This value is required.';
},
type: 'text',
url: '/poste',
pk: {{ purchaseOrder.id }},
title: 'Enter Freight Value',
params: function(params) {
var line = $(this).attr("id");
var data = {};
data['purchaseOrderId'] = params.pk;
data['field'] = params.name;
data['value'] = params.value;
data['lineId'] = line;
return data;
},
ajaxOptions: {
dataType: 'json'
},
success: function(response, newValue) {
}
});发布于 2017-10-17 15:47:02
$(custom_selector).each(function() {
var current_element = $(this);
$(this).editable({
//common code where you can use current_element
});
});https://stackoverflow.com/questions/16043398
复制相似问题