0
對話框是使用JSTL foreach標籤生成的。jQuery UI對話框不是第二次打開,但後臺無法訪問
我第一次嘗試打開對話框(其中任何一個)時,它會正常打開,但第二次嘗試打開它時,由於對話框是模態的,背景變成灰色並且無法訪問,但對話窗口不是所示。
這個問題有很多問題,我讀了很多,但據我瞭解,他們都沒有描述這種情況。
這是我的HTML:
<button id="buttonAddTask${category.id}" class="buttonAddTask">Add Task</button>
...
<div id="dialog${category.id}" title="Create new task" class="task-dialog">
<form:form id="taskForm${category.id}"
action="${contextPath}/someAction"
method="POST" modelAttribute="someAttribute">
<fieldset>
<form:input type="text" path="taskName" id="taskName"
class="text ui-widget-content ui-corner-all" />
<form:textarea rows="4" path="taskDescription"
id="taskDescription" name="taskDescription"
class="text ui-widget-content ui-corner-all">
</form:textarea>
</fieldset>
</form:form>
</div>
這是我的js代碼:
$(function() {
var form;
var taskDialog = $(".task-dialog");
var buttonAddTask = $(".buttonAddTask");
taskDialog.dialog({
autoOpen : false,
height : 500,
width : 415,
modal : true,
buttons : {
"Create task" : addTask,
Cancel : function() {
taskDialog.dialog("close");
}
},
close : function() {
var form = $(this).find("form")[0].reset();
allFields.removeClass("ui-state-error");
}
});
function addTask() {
var thisId = $(this).attr("id").substring(6, 106);
$("#taskForm" + thisId).submit();
return true;
}
buttonAddTask.on("click", function() {
var thisId = $(this).attr("id");
var idNumber = thisId.substring(13, 14);
$("#dialog" + idNumber).dialog("open");
});
});
我打開與.dialog對話框( 「開」),之後將其關閉。對話框是通過id選擇器訪問的,所以它在被移動到body標籤的末尾後應該是不可信的。我做錯了什麼,或者我需要做什麼才能第二次顯示對話?
我正在使用jQuery 2.1.1和jQuery-ui 1.11.2。