[英]X-Editable Bootstrap field loads only on the first link
我正在使用Bootstrap X-Editable和bootstrap-wysihtml5 。
我在每個帖子頁面上都有一個評論列表,每個評論下方都有一個編輯鏈接。
但是我只能在最后一個(最新提交的評論)上編輯第一個評論,而其余評論根本不加載X-Editable字段。
$('#note').editable({
validate: function(value) {
if($.trim(value) == '')
return 'Value is required.';
},
type: 'wysihtml5',
title: 'Edit Comment',
placement: 'top',
send:'always',
ajaxOptions: {
dataType: 'json',
type: 'post'
}
});
$('#pencil').click(function(e) {
e.stopPropagation();
e.preventDefault();
$('#note').editable('toggle');
});
和HTML
<div id="note"
class="note"
data-type="wysihtml5"
data-toggle="manual"
data-pk="{{ $each_comment->id }}"
data-placement="top"
data-url="{{ url($each_comment->post_id . '/comment/update') }}">
{!! $each_comment->comment !!}
</div>
<a href="#"
id="pencil"
class="pencil"
data-type="wysihtml5"
data-toggle="manual"
data-pk="{{ $each_comment->id }}"
data-placement="top"
data-url="{{ url($each_comment->post_id . '/comment/update') }}">
<i class="icon-pencil" style="padding-right: 5px"></i>[edit]
</a>
更新
我進行了一些更改,將pen
類添加到了編輯鏈接中
<a href="#" id="pencil" class="pen" data-pk="{{ $each_comment->id }}">[edit]</a>
我用a.pen
稱呼它
('a.pen').click(function(e) {
e.stopPropagation();
e.preventDefault();
console.log($('#note').attr("data-pk"));
$('#note').editable('toggle');
});
現在,所有編輯鏈接都正在加載X-Editable字段,但是它們都顯示了ID為142
的相同評論,這是最新提交的評論。
每當我單擊編輯鏈接時, console.log
打印相同的ID。
從$('#note').editable(
看來您正在動態生成具有重復id
內容。
id
選擇器始終返回第一個匹配項,因為規則是, id
在document中應該是唯一的。
您應該使用允許重復的class
, name
或類似屬性,而不是id
。
因此,使用class
的代碼應類似於以下內容:
$('.pencil').click(function(e) {
e.stopPropagation();
e.preventDefault();
$(this).prev('.note').editable('toggle');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.