点击我的“导出”网址后,我发生了以下两个事件。无论我如何尝试,我都无法在没有收到“嘿,你在某个地方错过逗号或分号”的情况下将两者结合起来 - 恐怖。任何人都可以提出一种方法来将两者结合起来,或者我应该将它们分开,就像它们现在一样?
$('#export').click(function() {
$.each(gSelectedMeds,
function(intIndex, objValue) {
i=intIndex + 1;
if(i>1) {string+='&';}
string+='med'+i+'="'+objValue+'"';
}
)
string += "&count="+i;
});
$('#export').click(function(){
$.ajax({
url: 'ajax-exportMeds.php?'+string,
type: "GET",
dataType: "text",
success:
function(data){
$('#dialog_layer').dialog({
autoOpen: true,
bgiframe: true,
modal: true,
buttons: {
"OK":
function() {
$(this).dialog("close");
}
}
})
}
})
});
答案 0 :(得分:1)
我不知道是否会这样做,但是合并到一个函数中会消除可能导致问题的全局“字符串”。
$('#export').click(function() {
$.each(gSelectedMeds,
function(intIndex, objValue) {
i=intIndex + 1;
if(i>1) {string+='&';}
string+='med'+i+'="'+objValue+'"';
}
)
string += "&count="+i;
$.ajax({
url: 'ajax-exportMeds.php?'+string,
type: "GET",
dataType: "text",
success: function(data){
$('#dialog_layer').dialog({
autoOpen: true,
bgiframe: true,
modal: true,
buttons: {
"OK": function() { $(this).dialog("close"); }
}
})
}
})
});
答案 1 :(得分:0)
你试过这个吗?
function doEach() {
$.each(gSelectedMeds,
function(intIndex, objValue) {
i=intIndex + 1;
if(i>1) {string+='&';}
string+='med'+i+'="'+objValue+'"';
}
)
string += "&count="+i;
}
function doAjax(){
$.ajax({
url: 'ajax-exportMeds.php?'+string,
type: "GET",
dataType: "text",
success:
function(data){
$('#dialog_layer').dialog({
autoOpen: true,
bgiframe: true,
modal: true,
buttons: {
"OK":
function() {
$(this).dialog("close");
}
}
})
}
})
}
$('#export').click(function() {
doEach();
doAjax();
});
你也应该提出有意义的名字。当然,您可以更轻松地重构此代码。