У меня есть модальное диалоговое окно jquery, и я пытаюсь изменить текст, отображаемый на кнопке после ее нажатия. Так, например, кнопка «Отправить» изменяется на «Отправка...» и отключается при нажатии на нее.
Все это прекрасно работает, но с одной проблемой: кнопка теряет все свои внутренние отступы, а граница кнопки обтекает текст.
$('#email-dialog').dialog({
autoOpen: false,
height: 'auto',
width: 'auto',
modal: true,
buttons: {
"Send": function() {
$(".ui-dialog-buttonpane button:contains('Send')").button("disable");
$(".ui-dialog-buttonpane button:contains('Send')").button().html('Sending...');
$.ajax({
type: "POST",
url: post_path,
data: form_data,
dataType: 'JSON',
success: function(data) {
if (data.success) {
$("#email-dialog").dialog("close");
} else {
updateErrors(data.errors);
$(".ui-dialog-buttonpane button:contains('Sending...')").button("enable");
$(".ui-dialog-buttonpane button:contains('Sending...')").button().text('Send');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('Error: ' + textStatus + ' ' + errorThrown);
$(".ui-dialog-buttonpane button:contains('Sending...')").button("enable");
$(".ui-dialog-buttonpane button:contains('Sending...')").button().text('Send');
}
});
},
Cancel: function() {
$(this).dialog("close");
}
},
close: function() {
allFields.val("").removeClass("ui-state-error");
}
});
Я пробовал использовать методы html() и text(). Я пропустил что-то действительно очевидное здесь?
.button()
. Если бы мне пришлось угадать, эта функция удаляет и воссоздает элемент, стирая все стили в процессе. - person Adam Terlson   schedule 18.10.2011label
свойство кнопки. - person mmcnickle   schedule 18.10.2011