从单个更改事件中运行多个$ .get()

时间:2014-11-20 10:58:08

标签: jquery ajax

我正在寻找从单个更改事件中运行多个$ .get()事件的正确方法。我发布的代码只返回第一次调用loadboxDstrsubcat.php?dstrdept。

如果有人能指出我正确的方向,我将不胜感激。我知道有 .when 选项,但我对ajax仍然非常环保,所以任何帮助都会受到欢迎。感谢

$(function() {

$("#dstr_dept").chosen({
      width: "260px",
      placeholder_text_single: "Select Some Options"
    }).change(function() {

    $(this).after('<div id="loader"><imgages src="img/loading.gif" alt="loading files" /></div>');
    $.get('loadboxDstrsubcat.php?dstrdept=' + $(this).val(), function(data) {
      $("#box_dstr").html(data);
      $('#loader').slideUp(200, function() {
        $(this).remove();
        $("#box_dstr").trigger("chosen:updated");
      });
    });
  });

  $(this).after('<div id="loader"><imgages src="img/loading.gif" alt="loading files" /></div>');
    $.get('loadboxAdrDstrsubcat.php?dstraddr=' + $(this).val(), function(data) {
      $("#dstr_address").html(data);
      $('#loader').slideUp(200, function() {
        $(this).remove();
        $("#dstr_address").trigger("chosen:updated");
      });
   });
});

2 个答案:

答案 0 :(得分:1)

也许如果您尝试在第一个$ .get中调用它,请尝试:

$(function () {
    $("#dstr_dept").chosen({
        width: "260px",
        placeholder_text_single: "Select Some Options"
    }).change(function () {
        $(this).after('<div id="loader"><imgages src="img/loading.gif" alt="loading files" /></div>');
        $.get('loadboxDstrsubcat.php?dstrdept=' + $(this).val(), function (data) {
            $('#loader').slideUp(200, function() {
                $(this).remove();
                $("#box_dstr").trigger("chosen:updated");
            });
            $(this).after('<div id="loader"><imgages src="img/loading.gif" alt="loading files" /></div>');
            $.get('loadboxAdrDstrsubcat.php?dstraddr=' + $(this).val(), function (data) {
                $("#dstr_address").html(data);
                $('#loader').slideUp(200, function () {
                    $(this).remove();
                    $("#dstr_address").trigger("chosen:updated");
                });
            });
        });
    });
});

答案 1 :(得分:1)

你可以这样做

$(function() {

$("#dstr_dept").chosen({
      width: "260px",
      placeholder_text_single: "Select Some Options"
    }).change(function() {

    $(this).after('<div id="loader"><imgages src="img/loading.gif" alt="loading files" /></div>');
    $.get('loadboxDstrsubcat.php?dstrdept=' + $(this).val(), function(data) {
      $("#box_dstr").html(data);
      $('#loader').slideUp(200, function() {
        $(this).remove();
        $("#box_dstr").trigger("chosen:updated");
      });
    }).done(function( data ) {

       //call second get here
        $(this).after('<div id="loader"><imgages src="img/loading.gif" alt="loading files" /</div>');
    $.get('loadboxAdrDstrsubcat.php?dstraddr=' + $(this).val(), function(data) {
      $("#dstr_address").html(data);
      $('#loader').slideUp(200, function() {
        $(this).remove();
        $("#dstr_address").trigger("chosen:updated");
      });
   });       

    });
  });


});