Javascript Grails模态对话框赢得';模板模型为空时不显示
我正在尝试制作一个可重用的模板,当提供给它的模型为空时,我可以在这两种情况下使用它,当它不是空时。我不知道尝试在两种不同的情况下使用模板是否是最佳实践,但我只是认为重用代码可能会很好。提供模型后,文本字段将自动填充。如果不是,它们应该是空白的。此模板位于我用来显示的模式对话框中 我遇到的问题是,当提供给模板的模型为空时,模式对话框不会弹出。期望的结果是,当提供模型时,文本字段将自动填充,允许用户编辑和保存记录,而如果没有提供模型,文本字段将为空,用户可以填写它们以创建新记录。但是我甚至不能让model div在模型为空时显示。它至少应该显示静态内容吗?像文本字段标签和文本字段本身?以下是有关的标记:Javascript Grails模态对话框赢得';模板模型为空时不显示,javascript,grails,Javascript,Grails,我正在尝试制作一个可重用的模板,当提供给它的模型为空时,我可以在这两种情况下使用它,当它不是空时。我不知道尝试在两种不同的情况下使用模板是否是最佳实践,但我只是认为重用代码可能会很好。提供模型后,文本字段将自动填充。如果不是,它们应该是空白的。此模板位于我用来显示的模式对话框中 我遇到的问题是,当提供给模板的模型为空时,模式对话框不会弹出。期望的结果是,当提供模型时,文本字段将自动填充,允许用户编辑和保存记录,而如果没有提供模型,文本字段将为空,用户可以填写它们以创建新记录。但是我甚至不能让mo
<div class = "modal" id = "recordDetails">
<div id="details"></div>
<button id="save" class="close" type="button"/> Save </button>
<button id="cancel" class="close" type="button"> Cancel </button>
<div id="error_messages"></div>
</div>
拯救
取消
“详细信息”是我使用此控制器操作将模板呈现到的div:
def displayRecordDetails() {
println "<><><> Displaying record details."
def recordToEdit = IndividualRecord.findWhere(batchID: selectedBatch.id, uniqueId: params.uniqueId, secondaryId: params.secondaryId)
println "<><>< Record to edit: " + recordToEdit
render(template: 'detailsScreen', model: [recordToEdit: recordToEdit])
}
def displayRecordDetails(){
println“显示记录详细信息”
def recordToEdit=IndividualRecord.findWhere(批次id:selectedBatch.id,uniqueId:params.uniqueId,secondaryId:params.secondaryId)
println“<要编辑的记录:“+recordToEdit
呈现(模板:“detailsScreen”,模型:[recordToEdit:recordToEdit])
}
下面是呈现到“details”div中的模板本身:
编辑记录详细信息
唯一ID:
辅助ID:
名字:  
中间名:  
姓氏:
出生日期(年月日):
公民身份(两个字母的国家代码):
公民身份证明:
电话(aaa bbb cccc):
地址:
城市或城镇:
国家(两个字母的国家代码):
评论:
$(文档).ready(函数(){
$('#取消')。单击(函数(){
$('editIndivRecForm')。重置;
});
//$(“#提交”)。单击(函数(){
//$('.modalInput').overlay().close();
// });
$(“#保存”)。单击(函数(){
console.log('save');
$(“#提交”)。触发(“单击”);
$('editIndivRecForm')。重置;
});
});
#独一无二的{
宽度:90%;
}
#提交{
可见性:隐藏;
}
启动此模式的两种情况是,按下表格任何一行上的“编辑”图标按钮以编辑该记录(在这种情况下,提供了模型)。或者在需要创建新记录时按下“新建”按钮(未提供型号)。见下图
在控制器中使用此选项:
def recordToEdit = IndividualRecord.findWhere(batchID: selectedBatch.id, uniqueId: params.uniqueId, secondaryId: params.secondaryId) ?: new IndividualRecord()
如果搜索没有返回一个值,它将创建一个新对象
也许这能解决你的问题
祝项目顺利。您的“新建”按钮应如下所示:
<button id = "new" class = "modalInput" rel = "#recordDetails"> New </button>
新建
这并没有解决问题。据我所知,这并没有改变任何事情。
<button id = "new" class = "modalInput" rel = "#recordDetails"> New </button>