Jeditable для редактирования ссылки. Помогите - PullRequest
7 голосов
/ 03 декабря 2009

Я играю с jeditable уже 2 дня, и это здорово!

Но у меня возникла небольшая проблема, у меня есть ссылка, которая должна быть редактируемой, но когда поле становится редактируемым, я не могу редактировать это поле, когда я нажимаю, оно переходит прямо к этой ссылке.

Есть решение?

Вот мой код

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

7 голосов
/ 19 июня 2010

jИзменяемая проблема, вот обходной путь

Я бы использовал скрытый диапазон, а затем заменил бы текст ссылки при отправке, а когда вы нажмете на триггер, сделаете ссылку невидимой и покажите скрытый диапазон

<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>
2 голосов
/ 29 июня 2011

Используйте javascript, чтобы отключить ссылку в том случае, если она содержит форму. Работа сделана:

$(document).ready(function() {
  $('a.my-editable-link').click(function() {
    form = $(this).find('form');
    if (form.length) {
      form.submit();
      return false;
    } else {
      return true;
    }
  }
})
1 голос
/ 31 мая 2012

Вы можете отключить ссылки, которые можно редактировать с помощью jQuery. Что-то вроде:

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