我是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?
非常感谢!!!
解决方法
决定我会提供解决方案而不是删除帖子以防其他人需要这个…
- $('#line_item_unit_cost a').editable({
- validate: function(value) {
- if($.trim(value) == '') return 'This value is required.';
- },url: '/poste',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;
- },newValue) {
- }
- });