我正在使用此plugin编辑文本。 This is my fiddle。我想分别根据两个编辑字段的文本更改文本“文本1”,“文本2”。我怎样才能做到这一点?如何从引导可编辑插件获得可编辑文本值
我试图与此脚本:
var title = $('.edit_text').editable('getValue');
$('.name-list p').html(title);
提前感谢!
我正在使用此plugin编辑文本。 This is my fiddle。我想分别根据两个编辑字段的文本更改文本“文本1”,“文本2”。我怎样才能做到这一点?如何从引导可编辑插件获得可编辑文本值
我试图与此脚本:
var title = $('.edit_text').editable('getValue');
$('.name-list p').html(title);
提前感谢!
试试这个:
DEMO:FIDDLE
HTML:
<div><a href="#text1" class="edit_text">Name Me</a></div>
<div><a href="#text2" class="edit_text">Namete Me</a></div>
<div class="name-list">
<p id="text1">Text 1</p>
<p id="text2">Text 2</p>
</div>
JS:
$.fn.editable.defaults.mode = 'inline';
$('.edit_text').editable({
type: 'text',
success: function(k,val){
var id = $(this).attr("href");
$('.name-list '+ id).html(val);
}
});
UPDATE
我被某人问到解释这是如何工作的。我很抱歉没有这样做,这是如何工作的:
我们首先创建HTML。如您所见,锚定标记<a>
有一类edit_text
,因此我们可以使用它来附加.editable
方法,但它们也会保存其链接到的ID的href
属性。
在jQuery中,
我们用引导的.editable
方法(Source),
我们设置的默认模式为 “内联”,让所有的编辑都在线完成 而不是通过默认弹出方式$.fn.editable.defaults.mode = 'inline';
。
我们将.editable
方法附加到所有持有类.edit_text
的元素,我们给它所需的选项。 $('.edit_text').editable({..})
其中一个选项是称为success
的回调,当编辑完成时会触发该回调。
当success
回调执行,它返回我们抓住该元素的href
并将其分配给id
变量指数k
和当前元素success: function(k,val)
的价值val
。 var id = $(this).attr("href");
我们看看类name-list
的元素,并找到我们获得的id
的任何孩子。$('.name-list '+ id)
最后,我们将我们从回调中收到的任何值val
放置到找到的元素中。 $('.name-list '+ id).html(val);
希望这会有所帮助。
完美!谢谢:) – user1896653 2014-10-27 17:21:46
没问题,随时:) – CodeGodie 2014-10-27 17:23:03
感谢这也是对我的使用完全,但你能解释我是如何工作的? – Gomzy 2016-02-12 11:11:11
试试这个
http://jsfiddle.net/4yn65v7c/17/
,并假设没有。的edit_text
等于no。 <p>
根据name-list
。 只需将脚本更改为此
$.fn.editable.defaults.mode = 'inline';
$('.edit_text').editable({
success : function(k, val)
{
var i = $(".edit_text").index(this);
$('.name-list p:eq('+ i +')').html(val);
}
});
虽然我在你的答案之前得到了解决方案,但还是要感谢你。 – user1896653 2014-10-27 21:44:35
什么是getValue?你需要指定类型:'text',你也可以发布你的html的样子吗? – Moy 2014-10-27 17:01:58
getValue是该插件的一种方法。我已经给出了我的小提琴链接在哪里显示HTML – user1896653 2014-10-27 17:04:31