だから私はここでマッシュアップ/コレクションを静かにしています...私たちのアプリではFullCalendarを使用しており、イベントはBootstrap Modalにロードされます。ユーザーが望む場合は、フィールドをクリックすると、jEditableの助けを借りて編集可能、およびTimepickerフィールド用に作成した新しいカスタム「タイプ」 。
以下のコードは、タイムピッカー編集可能フィールドの新しい入力タイプを作成するものです
$.editable.addInputType('timepicker',
{
element : function(settings, original)
{
var input = $('<input id="timeToEdit">');
input.attr('autocomplete','off');
var hidden = $('<input type="hidden" id="editedEventTime" />');
$(this).append(hidden);
$(this).append(input);
return(hidden);
},
plugin : function(settings, original)
{
var form = this;
settings.onblur = 'ignore';
$(this).find('#timeToEdit').timepicker(
{
alwaysSetTime: true,
timeOnly: true,
timeFormat: "h:mm TT",
altField: "#editedEventTime",
altFieldTimeOnly: true,
altTimeFormat: "HH:mm:00",
stepHour: 1,
stepMinute: 15,
onSelect: function(dateText) {},
onClose: function(dateText)
{
original.reset.apply(form, [settings, original]);
},
});
}
});
これは、編集可能なフィールドをクリックしてタイムピッカーを追加できるようにするコードです。
$('.eventEditStartTime').editable('phpfiletotalktodb.php', {
type : "timepicker",
submit : "<span class='btn btn-mini btn-success'><i class='icon-ok'></i></span>",
cancel : "<span class='btn btn-mini btn-danger'><i class='icon-remove'></i></span>",
tooltip : "Edit start of the event",
indicator : "Saving...",
callback : function(value, settings) {
$('#fullCalendar').fullCalendar('refetchEvents');
}
});
私が抱えている問題は、ユーザーがフィールドをクリックして編集するが、何も選択せず、画面をクリックしてモーダルウィンドウが消え、ユーザーがそのイベントをもう一度クリックして編集すると、それができないことです。そのフィールドを再び編集可能にしないでください。
考えられる原因の 1 つは、ユーザーがイベントをクリックすると表示され、ユーザーが時間フィールドをクリックして編集すると、ドロップダウンが表示されますが、値が「非表示」になっているにもかかわらず、フィールドが空であるということです。フィールド、おそらくそれが編集不能になる原因ですが、それをバイパスする方法がわかりません。
事前にご連絡いただき、ご検討いただきますようお願い申し上げます。