Jquery,返回id

时间:2014-08-28 14:07:10

标签: javascript jquery

我有多个按钮元素,分配了以下id:'saveXX'和ID分配的相应段落元素='contentXX',段落元素的contentEditable属性设置为true。

以下工作和更新数据库:

$(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与数据库记录有关。

非常感谢,Stew

3 个答案:

答案 0 :(得分:2)

我宁愿将数字部分存储在数据属性中:

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

修改脚本以使用它:

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

答案 1 :(得分: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);
            }
        });
    });
});

答案 2 :(得分:1)

你可以在选择器上使用joker:

$('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', '');

或使用正则表达式获取持续数字。