jQuery UI对话框 - 与javascript函数链接

时间:2012-05-01 17:30:18

标签: jquery jquery-ui-dialog

是否可以在jquery对话框中有一个调用javascript函数的链接?像这样的东西 -

var msg-dialog = $('#dialog-msg');
msg-dialog .html("Please click < a href='javascript:void(0)' onclick='javascript:reload();'>here</a> to reload.");
msg-dialog('open');

 function reload() {
      // do something.
      alert('test');
    }

链接显示在对话框中,但点击它并没有做任何事情。我错过了什么?我还想关闭函数中的对话框。

2 个答案:

答案 0 :(得分:0)

假设您有合适的库,这将立即开箱即用:

<html>
<head>
<link href="jqueryUI/css/ui-lightness/jquery-ui-1.8.19.custom.css" rel="stylesheet" type="text/css">
<script src="jquery-1.7.1.js"></script>
<script src="jqueryUI/js/jquery-ui-1.8.19.custom.min.js"></script>

<script type="text/javascript">
function doSomething() {
    $('#dialog').dialog('close');
}

$(document).ready(function() {
    $("#dialog").dialog();
    $("#dialog").html("<a href=\"#\" onclick=\"doSomething();\">Call doSomething() function!</a>");
});
</script>

</head>
<body>
<div id="dialog"></div>

</body>

</html>

答案 1 :(得分:0)

根据ECMAScript 5.1 / Unicode 6.1,

msg-dialog是无效变量。

var msg_dialog = $('#dialog-msg');
msg_dialog .html("Please click <a href='javascript:void(0)' onclick='javascript:reload();'>here</a> to reload.");
msg_dialog.dialog(); // notice this

< a href='...'>here</a> a 之前有一个空格,应为<a href='...'>here</a>

DEMO.

Javascript variable name validator.