2014-08-28 80 views
1

我有多个按钮元素,其id分配为'saveXX',对应的段落元素的id分配为'contentXX',段落元素的contentEditable属性设置为true。jquery,return id

下工作并更新数据库:

$(document).ready(function(argument) { 
    $('#save81').click(function(){ 
     $edit = $('#content81').html(); 
     $cid = '81'; 
     $.ajax({ 
      url: 'include/editupdate.php', 
      type: 'post', 
      data: {data: $edit,cid: $cid}, 
      datatype: 'html', 
      success: function(rsp){ 
       alert(rsp); 
      } 
     }); 
    }); 
}); 

我的问题,我无法破解 - 我怎么运行上面的代码对任何ID =“saveXX”按钮,相应的ID =“contentXX”段落元素? XX涉及数据库记录。

大加赞赏,炖

+0

我想你可以替换'函数(参数)''按功能()'。根据Jquery的文档,'$ cid ='的定义是错误的。你必须使用'cid ='。 – reporter 2014-08-28 14:14:28

+0

没有看到你的HTML看起来像什么,很难给出建议,但假设每个'#saveXX'都有一个公共类,你可以通过使用'$('classname')来获得'id'。attr('id' )'然后用适当的'#contentXX'查找元素。 – RevanProdigalKnight 2014-08-28 14:18:02

回答

2

您可以在所有按钮都有一个共同的类,并从元素中提取数字ID:

HTML:

<button id="save81" class="save">Save 81</button> 
<button id="save82" class="save">Save 82</button> 

的Javascript:

$(document).ready(function (argument) { 
    $('.save').click(function() { 

     id = $(this).attr('id').replace('save',''); 

     $edit = $('#content' + id).html(); 
     $cid = id; 
     $.ajax({ 
      url: 'include/editupdate.php', 
      type: 'post', 
      data: { 
       data: $edit, 
       cid: $cid 
      }, 
      datatype: 'html', 
      success: function (rsp) { 
       alert(rsp); 
      } 
     }); 
    }); 
}); 
+0

嗨,我使用引导程序,将上面仍然工作正常,即:

+0

@Stew您应该能够选择'btn'或'btn-default'或'btn-sm'(或其任何组合)。 – RevanProdigalKnight 2014-08-28 14:25:41

+0

多数民众赞成 - 非常感谢您的快速响应,我用你的代码,并再次用.btn.Thanks代替.save。 – Stew 2014-08-28 14:25:44

1

您可以使用选择喜欢那个家伙:

$('input[id^=save]').click(function(){ 

更多细节在这里:http://api.jquery.com/category/selectors/

然后你就可以得到这样的数字:

var contentID = $(this).attr('id').replace('save', 'content');  
$edit = $('#'+contentID).html(); 
$cid = $(this).attr('id').replace('save', ''); 

或用正则表达式来获取最后的数字。

2

我会数一部分,而存储在数据属性:

<input type="button" data-function="update" data-id="81" />

并修改脚本与它的工作:

$(input[data-function='update']).click(function(){ 
    var id = $(this).data('id'); 
    // ... 
}