我有以下jquery代码
function deleteAppointment(confirmationNumber)
{
// alert(confirmationNumber);
$('#left').simpledialog({
'mode' : 'bool',
'prompt' : 'Confirm Delete',
'useModal': true,
'buttons' : {
'OK': {
click:function () {
// alert(confirmationNumber);
var link;
link = ROOT_URL+'Queue/cancelreservation/confirmnumber/'+confirmationNumber;
$.ajax({
url: link,
type: 'GET',
async: true,
success: function(data){
renderAgain();
addRightPane();
$(APPOINTMENT_LIST_CLASS).animate({
scrollTop: 0
});
},
error: function(){
/*@TODO : What if the ajax request fails */
}
});
}
},
'Cancel': {
click: function () {
$('#dialogoutput').text('Cancel');
},
icon: "delete",
theme: "c"
}
}
});
}
问题是我传递给删除约会功能的确认号码只是第一次传递,下次不会更新。它保存旧确认号的值,所以我发现我必须将确认号传递给点击功能。任何人都可以帮我解决这个问题吗?或者我在这里失踪了什么?
答案 0 :(得分:2)
经过几周的jquerymobile经验,我找到了解决这个问题的更优雅和正确的方法
只使用简单对话框的属性
'cleanOnClose' : true
这将解决您的问题
答案 1 :(得分:0)
我相信你的删除按钮是这样的
<a class="deleteappoinment" href="javascript:void(0);" id="12">Delete</a> //here 12 is an example of conformation id, change it accordingly
$(document).ready(function(){
$('.deleteappoinment').click(function(){
deleteAppointment($(this).attr('id'));
});
});
function deleteAppointment(confirmationNumber){
//code
}
答案 2 :(得分:0)
想要像你一样做同样的事情,一个函数将重新填充一个简单的对话框,但问题是onclick必须解除绑定并再次绑定但我不知道如何。我只是做一个解决方法并使用传递参数的全局变量
这应该是一个技巧...如果有人知道如何重新绑定事件请告诉我们
var selected;
function deleteAppointment(confirmationNumber)
{
selected = confirmationNumber;
// alert(confirmationNumber);
$('#left').simpledialog({
'mode' : 'bool',
'prompt' : 'Confirm Delete',
'useModal': true,
'buttons' : {
'OK': {
click:function () {
// alert(selected );
var link;
link = ROOT_URL+'Queue/cancelreservation/confirmnumber/'+selected ;
$.ajax({
url: link,
type: 'GET',
async: true,
success: function(data){
renderAgain();
addRightPane();
$(APPOINTMENT_LIST_CLASS).animate({
scrollTop: 0
});
},
error: function(){
/*@TODO : What if the ajax request fails */
}
});
}
},
'Cancel': {
click: function () {
$('#dialogoutput').text('Cancel');
},
icon: "delete",
theme: "c"
}
}
});
}