我在使用asp.net表单实现JQuery对话框时遇到了问题。当我点击#hlChangePassword
时没有任何反应。这是我的代码:
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('#hlChangePassword').click(function () {
var dlg = jQuery('div#ChangePass').dialog({
width: 500,
height: 500,
modal: true,
buttons: {},
open: function (event, ui) {
$(".ui-dialog-titlebar-close").hide();
}
});
dlg.parent().appendTo(jQuery("form:first"));
});
});
</script>
HTML
<asp:HyperLink ID="hlChangePassword"
runat="server" NavigateUrl="#">Change Password</asp:HyperLink>
<div id="ChangePass" style="display:none;">
//The content
</div>
我不知道是什么问题。请帮帮我。
答案 0 :(得分:1)
用户event.preventDefault();防止帖子回复如下
jQuery(document).ready(function () {
jQuery('#hlChangePassword').click(function (event) {
var dlg = jQuery('div#ChangePass').dialog({
width: 500,
height: 500,
modal: true,
buttons: {},
open: function (event, ui) {
$(".ui-dialog-titlebar-close").hide();
}
});
dlg.parent().appendTo(jQuery("form:first"));
event.preventDefault();
});
});
由于hlChangePassword
是服务器控件,因此它将回发。要克服这个问题,你应该使用event.preventDefault
此外,您正在使用id
选择器,该选择器可以在运行时由于母版页或用户控件而更改。因此,如果您使用asp.net 4.0或更高版本,请按如下方式使用服务器ID或静态ID作为链接,如下所示
ClientIDMode="Static"
<asp:HyperLink ID="hlChangePassword" ClientIDMode="Static"
runat="server" NavigateUrl="#">Change Password</asp:HyperLink>
答案 1 :(得分:0)
...宾果
script src =“http://code.jquery.com/ui/1.9.2/jquery-ui.js”&gt;
添加以上行,没有ui.js就无法工作。