在我开始描述我的问题之前:感谢您花时间阅读本文!
我正在尝试编写基本的事件日历代码。用户应该能够创建事件并更新事件参数。如果单击现有事件,则打开jquery对话框并为每个事件参数显示可编辑的文本字段。到目前为止,这个工作正常。唯一的问题是,只要任何参数被手动更改和保存,Textfields就不接受对Value的任何进一步修改。在对话框打开之前,应将这些值设置为单击事件的参数值。
我已经尝试通过stackoverflows serch函数和google找到我的问题的答案。我尝试了很多我发现的事情,比如使用对话框创建参数并将其设置为一个函数,该函数将事件参数分配给输入字段,或者每次在对话框打开之前动态创建表单代码。似乎没有任何帮助。
我想我错过了我的问题的基本要点。
我正在使用jquery-ui对话框表单模板的“fullcalendar”JQuery-Plugin和codesnippets。
(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>
答案 0 :(得分:0)
经过一段时间的痛苦和“敲打我的头穿墙”后,我找到了解决方案。 看起来似乎
.attr( “vaule”,东西)
这里不是选择方法。它适用于为任何类型的用户输入定义值,但之后无法更新值。 我应该使用的是:
.VAL(东西)
现在为什么这个方法可以在用户输入后写入,而.attr可能不会: 我根本就没有想法。
感谢所有读过我问题的人! 我希望这里有人能够解释为什么会这样。