问题
I have been playing around with jeditable for 2 days now, and it's great!
But I got a little problem, I have a link which should be editable, but whenever the field become editable, I can't edit that field, when I click, it jumps right to that link.
Any solution?
Here is my code
<a href="$homeurl/$hashkey" class="editsubject" id="$hashkey">$subject</a><span class="edittrigger" style="cursor:pointer;background:#EEEEEE;">edit</span>
$(document).ready(function() {
$('.editsubject').editable('editsubject.php', {
event : 'editclick',
cancel : 'Cancel',
submit : 'OK',
indicator : 'Wait...',
id : 'hk',
name : 'ns',
css : 'inherit'
});
$('.edittrigger').bind('click', function() {
$(this).prev().trigger('editclick');
});
});
Thanks
回答1:
jEditable problem, here's a workaround
I would use a hidden span and then have it replace the text of the link on submit, and when you click on the trigger, make the link invisible and show the hidden span
<script type='text/javascript'>
$(document).ready(function() {
$('.proxyedit').editable('editsubject.php', {
event : 'editclick',
cancel : 'Cancel',
submit : 'OK',
indicator : 'Wait...',
id : 'hk',
name : 'ns',
css : 'inherit',
callback : function(value, settings) {
$(this).css({'display':'none'});
$('.editsubject').text($(this).text()).css({'display':'inline'});
}
});
$('.edittrigger').bind('click', function() {
$(this).prev().trigger('editclick');
$('.proxyedit').css({'display':'inline'});
$('.editsubject').css({'display':'none'});
});
});
</script>
in the body
<a href="$homeurl/$hashkey" class="editsubject" id="$hashkey">$subject</a><span style="display:none;" class="proxyedit">$subject</span><span class="edittrigger" style="cursor:pointer;background:#EEEEEE;">edit</span>
回答2:
Use javascript to disable the link in the case that it contains a form. Job done:
$(document).ready(function() {
$('a.my-editable-link').click(function() {
form = $(this).find('form');
if (form.length) {
form.submit();
return false;
} else {
return true;
}
}
})
回答3:
You can disable links which are editable with jQuery. Something like:
$(".editable a").bind("click", function(event) {
return false;
});
来源:https://stackoverflow.com/questions/1840843/jeditable-to-edit-a-link-help