我最近偶然发现启用/禁用X-Editable表单的问题(我已经尝试了几天后)还没有解决。任何帮助将不胜感激。
我创造了一个包含我问题核心的小提琴:
http://jsfiddle.net/xBB5x/11749/
到此为止,一切都很完美。但是,还有一个按钮基本上只是禁用和启用(禁用后)x可编辑功能。
如果在编辑标签之前单击此按钮 - 则不会进行AJAX调用。
你可能会发现可疑的事情:
感谢您的帮助!
这是HTML:
<button type="button" id='thebutton'>Don't click Me!</button>
<div style="margin: 150px" id='navi'>
<h4>
<a href="#" class='title'>awesome 1</a>
</h4>
<h4>
<a href="#" class='title'>awesome 2</a>
</h4>
<h4>
<a href="#" class='title'>awesome 3</a>
</h4>
</div>
<div id='output'>
...
</div>
这是JS:
$('#navi').editable({
selector:'.title',
url: function(params) {
$.ajax({
url: '/echo/js/?js=SUBMITTED!',
complete: function(response) {
$('#output').html(response.responseText);
},
error: function() {
$('#output').html('Bummer: there was an error!');
},
});
},
send: 'always'
});
jQuery('body').on('click', '#thebutton', function () {
$('.title').editable('toggleDisabled');
$('.title').editable('toggleDisabled');
})
已编辑 - 其他一些信息:
我们有一个由用户创建的导航(基本上是&#34;文件夹结构&#34;)。这意味着用户应该能够添加其他导航项并根据需要重命名。 用户只能重命名活动项目。每个项目的内容都会在主面板中动态加载。
因此,当用户选择一个项目时,将运行以下脚本(这将禁用所有链接上的x可编辑功能,并在新的活动链接上重新激活它:
if (!$(this).hasClass("active")) {
// Load content to the main panel
DisplayOpRiskLeaf($(this).attr('id'));
// Change active navigation element
$('.oprisk-link').removeClass("active");
$(this).addClass("active");
$('.oprisk-leaves-panel').removeClass("active");
$(this).parents('.oprisk-leaves-panel').addClass("active");
// Change x-editable...
// disable all ($(this) is also getting disabled here)
$('.portfolio-title').editable('option', 'disabled', true);
// enable the active elemnt
$(this).editable('option', 'disabled', false);
}