0

我在 Struts2 中使用 DOJO 来支持 Ajax。发出请求后,用户列表会通过 Ajax 显示在对话框内的表格中。

此列表中的每个用户都必须包含指向用户详细信息的链接,该链接将通过 Ajax 显示在另一个对话框中。

这是包含链接的列的 html:

<td>
    <s:url id="mostrar_usuario_url" action="mostrar_usuario.action">
        <s:param name="id_usuario" value="%{id_usuario}"/>
    </s:url>
    <sx:a cssClass="mostrar_usuario_link" id="mostrar_usuario_link_%{id_usuario}" targets="mostrar_usuario_dialog" href="%{mostrar_usuario_url}">
        <s:property value="id_usuario"/>
    </sx:a>
</td>

它成功地获取了用户信息和 html,但是没有启动应该显示信息的对话框。

这是对话框的脚本:

$(document).ready(function() {
    $("#buscar_usuarios_dialog").on("click", ".mostrar_usuario_link", function() {
            $("#mostrar_usuario_dialog").dialog({
            modal:true
        }) 
    })
})

“buscar_usuarios_dialog”是包含表的 div 的 id。

问题是 ajax 可以完美运行,但 javascript 不能。可能是什么问题呢?

4

1 回答 1

1

正如我在你之前的问题中所说的那样。也许您需要使用 preventDefault 因为元素是锚标记?

$("document").on("click", ".mostrar_usuario_link", function(e) {
    //Prevent Default action from link
    e.preventDefault();
    ...
});

没有在小提琴中看到它,而是以您生成的 HTML 的示例 - 这是我想象您的结构类似于的示例,并且它工作正常。http://jsfiddle.net/6tqvj/

于 2012-06-06T00:01:19.957 回答