2014-08-28 53 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'); 
    // ... 
}