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

1 に答える 1

4

jQueryonは、同じハンドラーを複数のイベントにバインドすることをサポートしており、jQuery 1.7+ でこれを行うために使用する適切な方法です。

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

Ready ハンドラーに関しては、実際のreadyイベントはありません。jQuery は通常、その場合セレクターを無視し、DOM Ready で実行します。blurDOM の準備ができたら、簡単にトリガーできます。

$(function() {
    $('#search_building').blur();
});
于 2013-02-17T01:26:12.663 に答える