当我单击表单中的New Trade按钮时,它会打开jquery ui对话框。但是,我在gridview中有链接按钮,当我点击它应该打开jquery ui对话框的链接按钮时,它会在点击新的交易按钮之前打开jquery ui对话框。但是,点击新的交易按钮后,如果我点击gridview中的链接按钮,它调用“ViewTradeDialog(id)”功能,对话框没有打开,它显示错误信息“$ vwdia.html(data).dialog不是一个功能“。我的代码如下:
@using (Html.BeginForm("NewTrade", "Trade", FormMethod.Post, new { id = "searchForm" }))
{
<div id="searchbtn">
<input id="btn_newtrade" type="submit" value="New Trade" />
</div>
}
jquery code
<script type="text/javascript">
$(function () {
var $loading = $('<img src="../../loading.gif" alt="loading">');
var $dialog = $('<div></div>').append($loading);
$('#searchForm').submit(function (e) {
var url = this.action;
$.ajax({
autoOpen: false,
url: url,
success: function (data) {
$dialog.html(data).dialog({
zIndex:1,
width: 1400,
height: 600,
resizable: false,
title: 'New Trade Details',
modal: true,
buttons: {
"close": function () {
$dialog.dialog('close');
},
"Add Trade": function () {
$dialog.dialog('close');
$.ajax({
type: 'POST',
url: url
});
}
}
});
}
});
return false;
});
});
function ViewTradeDialog(id) {
alert(id);
var $vwdia = $('<div></div>');
var url = '/Trade/ViewTrades?tradeid=' + id;
$.ajax({
url: url,
success: function (data) {
$vwdia.html(data).dialog({
width: 600,
height: 600,
resizable: false,
title: 'View Trade Details',
modal: false,
buttons: {
"close": function () {
$vwdia.dialog('close');
}
}
});
}
});
return false;
}
答案 0 :(得分:0)
每次单击新交易时,您可能会覆盖对话框插件,因为它应用于同一元素:
$dialog.html(data).dialog(...
有可能通过替换对话框的html并重新应用它正在破坏的插件。您是否在JS控制台中看到任何其他错误?