尝试在模态对话框中创建表单。但我希望这个表单包含来自 jquery 的日期选择器和其他小部件。
目前我正在这样做:
在视图中:
<p><%= link_to "New Event", new_event_path, :remote => true%></p>
在申请中.js
jQuery(function($) {
$('a[data-remote]').live('ajax:beforeSend', function(e, xhr, settings){
xhr.setRequestHeader('accept', '*/*;q=0.5, text/html, ' + settings.accepts.html);
});
$('a[data-remote]').live('ajax:success', function(event, data, status, xhr){
$('#modal').html(data);
$('#modal').dialog({
show: "slide",
hide: "slide",
draggable: true,
modal: true });
});
});
如果在页面顶部的部分,我把
<script>$(function (){
$('#event_date').datepicker();
});
</script>
然后,当模式对话框出现时,我的日期字段将与日期选择器一起出现,但理想情况下,我希望将此代码放在 application.js 中,而不是放在视图中。
我是jquery的新手,这可能就是为什么我发现这很难做到的原因。 欢迎任何建议!
将日期选择器初始化放在对话框的open
回调中!
$('a[data-remote]').live('ajax:beforeSend', function(e, xhr, settings){
xhr.setRequestHeader('accept', '*/*;q=0.5, text/html, ' + settings.accepts.html);
});
$('a[data-remote]').live('ajax:success', function(event, data, status, xhr){
$('#modal').html(data);
$('#modal').dialog({
show: "slide",
hide: "slide",
draggable: true,
modal: true,
open: function(event, ui){
$('#event_date').datepicker();
}
});
});