可编辑链接。救命

时间:2009-12-03 15:54:21

标签: jquery jeditable

我现在已经玩了2天的jeditable,这太棒了!

但是我遇到了一个小问题,我有一个应该可编辑的链接,但每当该字段变得可编辑时,我无法编辑该字段,当我点击时,它会直接跳转到该链接。

任何解决方案?

这是我的代码

<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');
            });
         });

由于

3 个答案:

答案 0 :(得分:7)

jEditable问题,这是一个解决方法

我会使用隐藏的跨度,然后让它替换提交时链接的文本,当您单击触发器时,使链接不可见并显示隐藏的跨度

<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>
身体

<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>

答案 1 :(得分:2)

在包含表单的情况下,使用javascript禁用链接。完成工作:

$(document).ready(function() {
  $('a.my-editable-link').click(function() {
    form = $(this).find('form');
    if (form.length) {
      form.submit();
      return false;
    } else {
      return true;
    }
  }
})

答案 2 :(得分:1)

您可以禁用可使用jQuery编辑的链接。类似的东西:

$(".editable a").bind("click", function(event) {
    return false;
});