Как выполнить две функции при нажатии на URL - PullRequest
0 голосов
/ 06 октября 2009

Следующие два события происходят при нажатии на мою ссылку «экспорт». Независимо от того, как я стараюсь, я не могу объединить два, не получив «эй, вы пропустили запятую или точку с запятой где-то» - ошибку Кто-нибудь может предложить способ объединить два, или я должен просто оставить их отдельно, как они сейчас?

$('#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");
                                }
                        }
                    })
                }
        })
    });

Ответы [ 2 ]

1 голос
/ 06 октября 2009

Я не знаю, будет ли это так, но объединение в одну функцию устраняет глобальную «строку», которая могла вызывать у вас проблемы.

$('#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"); }
                   }      
                })
             }
    })
});
0 голосов
/ 06 октября 2009

Вы пробовали это?

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();
}); 

Тебе тоже следует ставить значимые имена. Конечно, вы можете изменить этот код для упрощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...