我正在Grails 1.3.7中做一些ajax请求。前端使用jQuery和'facebox'插件。
成功请求和响应后,我将重定向回到带有'confirm'参数的页面,该参数由javascript拾取。
facebox插件可以自行运行,但是当我传递'confirm'参数时,facebox弹出窗口可以正常工作,但是弹出窗口上的复选框是不可点击的(它们没有被禁用,箭头也没有显示出来)当你点击它们)。这是在Chrome和FF中测试的。我认为这可能是一个重复的ID问题,但我确保复选框和ID是唯一的。
有什么想法吗?或者有更好的方法吗?
Grails行动:
def deleteEmailRecipient = {
def recipientId = params.id
accountService.deleteEmailRecipient(recipientId)
redirect(action:'settings', params:[confirm:1])
}
JS:
$(document).ready(function() {
//get params to display save confirm if confirm detected
var url = window.location.toString();
url.match(/\?(.+)$/);
var params = RegExp.$1;
var splitParams = params.split("&");
for (var i=0;i<splitParams.length;i++) {
var tmp = splitParams[i].split("=");
if (tmp[0] == 'confirm') {
$.facebox({div: '#addWord'});
}
}
});
GSP(显示在facebox中):
<div class="checkboxes" style="border: 1px solid #FFFFFF;">
<g:each in="${wordGroups}" var="wg" status="i">
<label class="category">
<g:checkBox name="${wg.id}"/>
<span style="font-weight:bold;margin-right:5px;white-space: nowrap;">
<img class="dropdownFlag" src="${resource(dir:'images',file:icon)}" alt="" />${wg.name}
</span>${(i+1)%4 == 0 ? '<br />' : ''}
</label>
</g:each>
</div>