2013-02-17 50 views
1

有沒有什麼辦法可以結合以下3條jQuery的語句?組合變化,模糊,並準備回調方法

$("#search_building").change(function() { 
    var building = $("#search_building").val(); 
    var room = $("#search_room").val(); 
    var dept = $("#dept").val(); 
    var dataString = 'room=' + room + '&' + 'building=' + building + '&' + 'dept=' + dept; 
    $.ajax({ 
     type: "POST", 
     url: "process_building.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#search_room').html(html); 
     } 
    }); 
    $.ajax({ 
     type: "POST", 
     url: "process_timetableMon.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#grid2_mon').html(html); 
     } 
    }); 
}); 

$("#search_building").blur(function() { 
    var building = $("#search_building").val(); 
    var room = $("#search_room").val(); 
    var dept = $("#dept").val(); 
    var dataString = 'room=' + room + '&' + 'building=' + building + '&' + 'dept=' + dept; 
    $.ajax({ 
     type: "POST", 
     url: "process_building.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#search_room').html(html); 
     } 
    }); 
    $.ajax({ 
     type: "POST", 
     url: "process_timetableMon.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#grid2_mon').html(html); 
     } 
    }); 
}); 

$("#search_building").ready(function() { 
    var building = $("#search_building").val(); 
    var room = $("#search_room").val(); 
    var dept = $("#dept").val(); 
    var dataString = 'room=' + room + '&' + 'building=' + building + '&' + 'dept=' + dept; 
    $.ajax({ 
     type: "POST", 
     url: "process_timetableMon.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#grid2_mon').html(html); 
     } 
    }); 
}); 

回答

4

jQuery的on支持結合了相同的處理多個事件,並且是使用jQuery來做到這一點1.7+適當的方法。

$("#search_building").on("change blur", function() { 
    // your code here 
}); 

至於你準備好處理,沒有真正ready事件和jQuery通常在這種情況下,忽略了選擇並執行對DOM準備在任何情況下。你可以簡單地在DOM準備觸發blur

$(function() { 
    $('#search_building').blur(); 
});