問題の説明を始める前に: 時間を割いて読んでいただきありがとうございます。
基本的なイベント カレンダーをコーディングしようとしています。ユーザーは、イベントを作成し、イベント パラメータを更新できる必要があります。既存のイベントがクリックされると、jquery ダイアログが開き、各イベント パラメータの編集可能なテキスト フィールドが表示されます。これまでのところ、これは正常に機能します。唯一の問題は、パラメーターのいずれかが手動で変更されて保存されるとすぐに、テキストフィールドがその値のそれ以上の変更を受け入れないことです。これらは通常、ダイアログが開く前に、クリックされたイベントのパラメーター値に設定する必要があります。
私はすでにstackoverflows serch関数とGoogleを介して私の問題に対する答えを見つけようとしました. ダイアログ作成パラメーターを使用して、イベントパラメーターを入力フィールドに割り当てる関数に設定したり、ダイアログが開く直前にフォームコードを動的に作成したりするなど、私が見つけた多くのことを試しました。何も役に立たないようです。
問題の本質的な点が欠けていると思います。
「fullcalendar」JQuery-Plugin と jquery-ui ダイアログフォーム テンプレートのコードニペットを使用しています。(fullcalendar: http://arshaw.com/fullcalendar/ )
(jquery ダイアログフォーム: http://jqueryui.com/dialog/#modal-form )
これまでお読みいただき、ありがとうございました。
ここに私のコードの一部があります:
---Initialisation of fullcalendar----
eventClick: function (event, element) {
var id = $( "#id" ),
title = $( "#title" ),
allFields = $( [] ).add( id ).add( title );
$( "#dialog-form" ).dialog
({
autoOpen: false,
height: 320,
width: 350,
modal: true,
close: function()
{
allFields.attr( "value", "" );
},
buttons: {
"Update Event": function()
{
var bValid = true;
// To-Do: Entry Check Logic
if ( bValid )
{
event.title=$("#title").val();
$('#calendar').fullCalendar('updateEvent', event);
$( this ).dialog( "close" );
}
},
Cancel: function()
{
$(this).dialog( "close" );
}
}
});
$("#id").attr("value",event._id);
$("#title").attr("value",event.title);
$( "#dialog-form" ).dialog( "open" );
}
});
});
----Some Css----
</head>
<body >
<div id='calendar'></div>
<div class="lightness" id="dialog-form" title="Parameter">
<p class="validateTips">All form fields are required.</p>
<form>
<fieldset id="beforeSubmit">
<label for="id">Id</label>
<input type="text" name="id" id="id" />
<label for="title">Title</label>
<input type="text" name="title" id="title" value="" />
</fieldset>
</form>
</div>
</body>
</html>