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