У меня есть сценарий, при нажатии на кнопку я открываю диалоговое окно jQuery, которое отображает форму jsp (struts) через ajax-вызов, как показано ниже. Эта форма имеет тег <sj:select>
, который получает записи из списка объектов. Список заполняется правильно, но он не отображается в диалоговом окне, а не отображается на родительской странице jsp, откуда я открываю диалог. Вот мой родительский код JSP:<sj:select> не работает в диалоговом окне jQuery
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
$("#mydialogpopup").click(function(){
$.ajax({
url : "popupAjax.action",
success : function(response) {
$("#form_add").html(response);
$("#form_add").dialog('open');
}
});
});
$("#form_add").dialog({autoOpen: false,
modal: true,
width: 450,
height: 280
});
</script>
><a href="#" id="mydialogpopup" class="isw-plus"></a>
<div class="newdialog" id="form_add" style="display: block;" title="My Dialog"></div>
Вот код моей страницы popup.jsp, которая визуализируется как успешный результат Ajax вызова:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
<head>
<sj:head/>
<link href="jsp/css/stylesheets.css" rel="stylesheet" type="text/css" />
</head>
<s:form id="userForm" action="" method="post" >
<s:url id="remoteurl" action="listUser"/>
<sj:select
href="%{remoteurl}"
id="echo3"
cssStyle="width: 100%;"
name="echo"
list="userList"
listKey="id"
listValue="name"
autocomplete="true"
emptyOption="true"
headerKey="-1"
loadMinimumCount="2"
headerValue="Please Select a User" />
<sj:submit targets="result" id="savedialog" value="Save" validate="true"/> <input type="button" id="closedialog" value="Cancel"/>
</s:form>
Спасибо за ваш ответ .. Я исправил код, и он все еще не работает. Проведя еще несколько исследований, я обнаружил, что это дефект в struts. Вот ссылка: https://code.google.com/p/struts2-jquery/issues/detail?id=1022 –