我已經成功地在一個jQuery對話框打開HTML頁面。我也傳遞了一個名爲'vendorid'的數據給它,但不知道如何在打開的html頁面中檢索它。將數據傳遞到jQuery用戶界面對話框中打開HTML頁面
$('#btnShowSupplierStats').click(function() {
showUrlInDialog('../supplierstats.htm?vendorId=' + $(this).attr('vendorId')); return false;
//showUrlInDialog('../Default2.aspx'); return false;
});
function showUrlInDialog(url) {
var vid = $(this).attr('vendorId')
var tag = $("<div id='statsDiv' vid ='"+ vid +"'></div>");
$.ajax({
url: url,
success: function (data) {
tag.html(data).dialog({ show: "fadein", hide: "fadeout",
modal: true, minHeight: 550, minWidth: 800, autoOpen: false,
close: function (event, ui) { $(this).remove(); }, buttons: [{
text: "Close", click: function() { $(this).dialog('close');
return false; } }] }).data("vendorid", vid).dialog('open');
return false;
}
});
}
UPDATE:從法魯克答案會做好這項工作(他提到即第二個選項,因爲我使用的是100%的客戶端方法)。但是我沒有將數據存儲在隱藏字段中。相反,我用下面的方法也可以工作始終:
當你即將通過jQuery來打開對話框,在此之前只是,設置按鈕,這是對話框的揭幕戰的屬性。就我而言,我在這個按鈕上設置了一個名爲'vendorid'的屬性。假設開啓者按鈕的ID是'btnOpenVendorDialog'。所以需要使用下面的代碼。
$( '#btnOpenVendorDialog')ATTR( '廠商ID', 'Vendor1234')。 //這裏打開你的對話框....
2.然後,在該對話框窗口中打開HTML頁,我可以輕鬆地檢索沒有任何問題這個屬性。
var vid = $('#btnOpenVendorDialog').attr('vendorid');
就是這樣。無論你想用這個傳遞的數據你都準備好做。
您可以更改服務器腳本,它把VENDORID參數,它創建的HTML頁面? – Barmar
我該怎麼做?目標html頁面是完整的STATIC html頁面,沒有服務器端交互。在父頁面中,我從會話變量中獲得了vendorid。 – Sunil
如果它是一個靜態頁面,爲什麼要在URL中添加一個參數?參數由服務器端腳本使用。 – Barmar