我希望能够深入了解WAS正在运作的东西,现在却没有,我无法理解为什么。
这是在VB和jquery中使用asp.net。
我有一个页面,我有一个约会选择屏幕,屏幕显示一个分支列表和每个分支使用转发器的可用约会数。
单击其中一个具有指定约会数的块后,jquery通过遍历分支和日期的ajax调用另一个.aspx页面。此页面使用这些来生成表单以显示日期。然后使用通过ajax返回的HTML来填充显示为JQuery对话框的div的HTML元素。
在此对话框中是每个可用时间的链接,点击链接时,名为time_selected的文本框中填充了“[”& Selected_Time& “]”和一个名为time_id的文本框中填充了“|” &安培; Select_Booking_Slot_ID& “ǁ”
在该对话框的初始加载我们有获得对话框(包括文本框)的HTML和使用该分隔符周围的日期和ID来得到我们需要的信息解析它的关闭事件。
现在我强调这个WAS在页面的一个实例上工作,我已经去创建同一页面的移动版本而且它不再有效...也回去比较原始我发现原来没有更长的作品。
返回的HTML不再包含已附加的文本框的内容。
以下是加载选择页面并将其放入主页中关闭事件的对话框中的代码。
$("a.showslots").click(function () {
$("#<%=bookingslot_branch.ClientID %>").val($(this).attr('branch'));
$("#<%=bookingslot_date.ClientID %>").val($(this).attr('date'));
$.ajax({
url: "appointment_select_small.aspx?slots=" + $(this).attr('id') + "&date=" + $(this).attr('date') + "&branch=" + $(this).attr('branchtext') + "&branchid=" + $(this).attr('branch'),
context: document.body
}).done(function (data) {
$("#Slots").html(data);
$("#Panel_Slots").dialog({
modal: true,
resizable: false,
close: function (event, ui) {
var data = $("#Panel_Slots").html();
var test_str = data;
var start_pos = test_str.indexOf('[') + 1;
var end_pos = test_str.indexOf(']', start_pos);
var text_to_get = test_str.substring(start_pos, end_pos);
var start_pos1 = test_str.indexOf('ǀ') + 1;
var end_pos1 = test_str.indexOf('ǁ', start_pos1);
var text_to_get1 = test_str.substring(start_pos1, end_pos1);
if (text_to_get.length != 0) {
$("#<%=bookingslot_time.ClientID %>").val(text_to_get);
$("#<%=bookingslot_id.ClientID %>").val(text_to_get1);
$("#<%=btn_bookingslot_click.ClientID %>")[0].click();
}
//$(this).remove();
return false;
}
}).parent().find('.ui-dialog-titlebar-close').hide();
$("#Panel_Slots").dialog('open');
$("#Panel_Slots").position({
of: window,
my: "center center",
at: "center center"
});
});
return false;
});
然后这是在appointment_select_small.aspx中的代码
$("a.bookappointment").click(function () {
$("#time_selected").val("[" + $(this).attr('id') + "]");
$("#time_id").val("ǀ" + $(this).attr('bid') + "ǁ");
$("#Panel_Slots").dialog('close');
return false;
});
任何帮助将不胜感激,谢谢。
答案 0 :(得分:0)
现在已经解决了,我真的很困惑这个问题,试图向DOM添加额外的元素,然后尝试读取它。我在jQuery中找到了bind函数,所以在ajax加载之后,我将事件绑定到新创建的A标签,并且我正在直接提取我需要的属性。