Встроенное редактирование строки - добавление опции выбора ввода, исправляющей изменение масштаба текстового поля ввода

0

Я немного переделал этот код, интересно, как я мог исправить это раздражающее повторное масштабирование, когда я нажимаю поле со значением. Другое дело, как сделать исключение для поля приоритета как вход для ввода, а не вход, который я знаю, что код $(this).html('<input id="editbox" type="text" value="' + $(this).text() + '">'); отвечает за это. Вероятно, если бы это исправить или как это могло быть? Я работаю над этим довольно долго, и я застрял. Спасибо за любые советы.

http://jsfiddle.net/8dpQe/

$(document).ready(function () {
    $('td.edit').click(function () {
            $('.ajax').html($('.ajax input').val());
            $('.ajax').removeClass('ajax');

            $(this).addClass('ajax');
            $(this).html('<input id="editbox" type="text" value="' + $(this).text() + '">');
            $('#editbox').focus();
        }
    );

    $('td.edit').keydown(function (event) {
            arr = $(this).attr('class').split(" ");
            if (event.which == 13) {
                $.ajax({
                    type: "POST",
                    url: "ticketmodifier.php",
                    data: "value=" + $('.ajax input').val() + "&rownum=" + arr[2] + "&field=" + arr[1],
                    success: function (data) {
                        $('.ajax').html($('.ajax input').val());
                        $('.ajax').removeClass('ajax');
                        console.log(data);
                    }
                });
            }
        }
    );

    $('#editbox').bind('blur', function () {

        $('.ajax').html($('.ajax input').val());
        $('.ajax').removeClass('ajax');
    });
});
Теги:

1 ответ

1

Пожалуйста, проверьте скрипку http://jsfiddle.net/8dpQe/6/ Добавлен то, что находит самый широкий диапазон. Также обратите внимание, что HTML изменен, чтобы включить все содержимое в промежутки. Ниже приводится основное изменение.

    //find max width
    var maxWidth=0;
    var elementIndex=$(this).index();

    $(this).parents('table').find('tr:not(:has(th))').each(function(index,value){
        var element=$(value).find('td:eq('+elementIndex+')');
        maxWidth=(parseInt(element.width())>maxWidth)?element.width():maxWidth;
        debugger;
    });
    //end find max width
  • 0
    Хорошо, я постараюсь исправить это немного больше

Ещё вопросы

Сообщество Overcoder
Наверх
Меню