jQuery的 - 编辑与jEditable不工作
问题描述:
我试图创建一个前端编辑器,我使用的是AJAX调用获取数据到一个新的div,像这样的新创建的div:jQuery的 - 编辑与jEditable不工作
function renderForm(type, position) {
$.ajax({
type: 'POST',
url: 'renderForm.php',
data: "type="+type+"&position="+position,
success: function(data){
var editbutoff = $(editbut).offset();
$(document.createElement('div')).attr('id', 'editor')
.height(($(divpar).height()+20))
.width(($(divpar).width()+20))
.css({position: 'absolute', left: editbutoff.left-($(divpar).width()+20), top: editbutoff.top-20, margin: "5px"})
.append(data)
.fadeIn("slow")
.prependTo(pptest);
}
});
}
一切很棒'直到这里。新的div显示数据到位,一切看起来都应该如此,但是随后出现问题!
我试图使用jEditable插件编辑新创建的数据,但作为新创建的div是不存在加载文档时,我做了一个.live
事件,像这样:
$("#editor").live('mouseenter', function(){
$('.edt').editable(function(){
console.log($(this).val());
});
$('.edtta').editable(function(){
console.log($(this).val());
}, {
type: 'textarea'
});
});
现在的问题是:
当我.edt
元素上单击插件火起来,创建一个新的input
,并在其中显示原始文本,但作为.edt
元素是新的,当我尝试后可编辑的数据在控制台中显示为<h1 class="edt">
。 <h1 class="edt">
是jEditable创建的输入字段的父项。
任何人都可以在正确的方向指向我如何获得我实际输入在jEditable输入字段中的数据吗?
非常感谢!
答
如果我没有误解你的问题,你试图提交之前提交的数据?如果是这样,使用的onsubmit方法:
$('.edt').editable('@Url.Action('Edit', 'Home')',
{
onsubmit: function (settings, data) {
var input = $(data).find('input');
var original = input.val();
alert(original);
}
}
您需要使用.find()来获取输入,则只能通过.VAL() 希望这有助于:)
真棒获得的价值!非常感谢你。我认为在提交之前价值会是一样的,所以我没有打扰任何其他测试。这就是我无法深入了解插件的原因。 :) – Wowca
很高兴我帮助:) – shennyL