#asp.net #jquery
#asp.net #jquery
Вопрос:
У меня есть диалоговое окно jquery, которое фиксирует вводимые пользователем данные (откройте страницу PLVoceInput.aspx в диалоговом окне jquery), которые впоследствии используются (путем публикации их на странице PLVoceOutput.aspx) для вычисления некоторых значений на стороне сервера и отображения их в другом диалоговом окне.
$("#divPLVoiceInput").dialog(
{
bgiframe: true,
autoOpen: false,
draggable: true,
modal: true,
position: 'center',
width: 400,
height: 200,
title: 'Input Pamp;L',
open: function(event, ui) {
$(this).load("PLVoceInput.aspx?customertype=ex");
},
buttons:
[
{
text: "Ok",
click: function() {
var v1=$("#tbSubsidizeVal").val();
var v2 = $("#tbSubsidizeSims").val();
var v3 = $("#tbSimCost").val();
var v4 = $("#tbOtherCostsSim").val();
var v5 = $("#tbLPs").val();
var v6 = $("#tbSalesComm").val();
var v7 = $("#tbContractLength").val();
var v8 = $("#tbPreTaxDiscountRate").val();
$("#divPLVoiceOutput").css('display', 'block');
$.ajax({
url: "PLVoceOutput.aspx",
//type: "POST",
data: {
valSubsidizeVal: v1,
valSubsidizeSims: v2,
valSimCosts: v3,
valOtherCosts: v4,
valLP: v5,
valSalesComm: v6,
valContractLength: v7,
valPreTaxDiscountRate: v8
}
});
$(this).dialog("close");
$("#divPLVoiceOutput").dialog("open");
}
},
{
text: "Cancel",
click: function() {
$(this).dialog("close");
}
}
]
});
$("#divPLVoiceOutput").dialog(
{
bgiframe: true,
autoOpen: false,
draggable: true,
modal: true,
position: 'center',
width: 600,
height: 500,
title: 'Detalii Pamp;L',
open: function(event, ui) {
$(this).load("PLVoceOutput.aspx");
},
buttons: [
{
text: "Ok",
click: function() { $(this).dialog("close"); }
}
]
});
Проблема в том, что второе диалоговое окно дважды открывает страницу aspx, первое с переданными параметрами, а второе без каких-либо параметров, поэтому отображаемые данные неверны. Что я должен изменить в своем коде? Спасибо
Ответ №1:
Я нашел решение:
$("#divPLVoiceInput").dialog(
{
bgiframe: true,
autoOpen: false,
draggable: true,
modal: true,
position: 'center',
width: 425,
height: 250,
title: 'Input Pamp;L',
open: function(event, ui) {
$(this).load("PLVoceInput.aspx?customertype=ex");
},
buttons:
[
{
text: "Ok",
click: function() {
$("#divPLVoiceOutput").css('display', 'block');
var inputData = 'valSubsidizeVal=' $("#tbSubsidizeVal").val()
'amp;valSubsidizeSims=' $("#tbSubsidizeSims").val()
'amp;valSimCosts=' $("#tbSimCost").val()
'amp;valOtherCosts=' $("#tbOtherCostsSim").val()
'amp;valLP=' $("#tbLPs").val()
'amp;valSalesComm=' $("#tbSalesComm").val()
'amp;valContractLength=' $("#tbContractLength").val()
'amp;valPreTaxDiscountRate=' $("#tbPreTaxDiscountRate").val();
$("#divPLVoiceOutput").dialog({
bgiframe: true,
autoOpen: false,
draggable: true,
modal: true,
position: 'center',
width: 600,
height: 500,
title: 'Detalii Pamp;L',
open: function(event, ui) {
$(this).load("PLVoceOutput.aspx?" inputData);
},
buttons: [
{
text: "Ok",
click: function() { $(this).dialog("close"); }
}
]
});
$("#divPLVoiceOutput").dialog("open");
$("#divPLVoiceInput").dialog("close");
}
},
{
text: "Cancel",
click: function() {
$(this).dialog("close");
}
}
]
});