0

以下のjQueryステートメントを組み合わせる最良の方法は何ですか?すべて同じことをしているように見えますが、異なるイベントを処理していますか?

これを行うことで、コードをより効率的にしたいと考えています。

 $(document).on('change click blur', '.roomFac', function () {
        var park = $("#park2").val();
        var lecturestyle = $("#lecture_style2").val();
        var roomstructure = $("#room_structure2").val();
        var groupsize = $("#groupSize2").val();
        var facilities = "";
        $('select[name*=roomFac]').each(function () {
            facilities += $(this).val();
            facilities += ",";
        });
        var dataString = 'park=' + park + '&' + 'lecturestyle=' + lecturestyle + '&' +
            'roomstructure=' + roomstructure + '&' + 'groupsize=' + groupsize + '&' +
            'facilities=' + facilities;
        $.ajax({
            type: "POST",
            url: "process_timetableMon2.php",
            data: dataString,
            cache: false,
            success: function (html) {
                $('#mon').html(html);
            }
        });
    });

    // search - park2

    $("#park2").on("change click blur", function () {
        var park = $("#park2").val();
        var lecturestyle = $("#lecture_style2").val();
        var roomstructure = $("#room_structure2").val();
        var groupsize = $("#groupSize2").val();
        var facilities = "";
        $('select[name^=roomFac]').each(function () {
            facilities += $(this).val();
            facilities += ",";
        });
        facilities = substring(0, facilities.length - 1)
        var dataString = 'park=' + park + '&' + 'lecturestyle=' + lecturestyle + '&' +
            'roomstructure=' + roomstructure + '&' + 'groupsize=' + groupsize + '&' +
            'facilities=' + facilities;
        alert(dataString);
        $.ajax({
            type: "POST",
            url: "process_timetableMon2.php",
            data: dataString,
            cache: false,
            success: function (html) {
                $('#mon').html(html);
            }
        });
    });

    // search - lecturestyle2

    $("#lecturestyle2").on("change click blur", function () {
        var park = $("#park2").val();
        var lecturestyle = $("#lecture_style2").val();
        var roomstructure = $("#room_structure2").val();
        var groupsize = $("#groupSize2").val();
            var facilities = $('#roomFac').val().join( ',' );
        var dataString = 'park=' + park + '&' + 'lecturestyle=' + lecturestyle + '&' +
            'roomstructure=' + roomstructure + '&' + 'groupsize=' + groupsize + '&' +
            'facilities=' + facilities;
        $.ajax({
            type: "POST",
            url: "process_timetableMon2.php",
            data: dataString,
            cache: false,
            success: function (html) {
                $('#mon').html(html);
            }
        });
    });

    // search - room_structure2

    $("#room_structure2").on("change click blur", function () {
        var park = $("#park2").val();
        var lecturestyle = $("#lecture_style2").val();
        var roomstructure = $("#room_structure2").val();
        var groupsize = $("#groupSize2").val();
            var facilities = $('#roomFac').val().join( ',' );
        var dataString = 'park=' + park + '&' + 'lecturestyle=' + lecturestyle + '&' +
            'roomstructure=' + roomstructure + '&' + 'groupsize=' + groupsize + '&' +
            'facilities=' + facilities;
        $.ajax({
            type: "POST",
            url: "process_timetableMon2.php",
            data: dataString,
            cache: false,
            success: function (html) {
                $('#mon').html(html);
            }
        });
    });

    // search - groupSize2

    $("#slider2").on("change click blur", function () {
        var park = $("#park2").val();
        var lecturestyle = $("#lecture_style2").val();
        var roomstructure = $("#room_structure2").val();
        var groupsize = $("#groupSize2").val();
                var facilities = $('#roomFac').val().join( ',' );
        var dataString = 'park=' + park + '&' + 'lecturestyle=' + lecturestyle + '&' +
            'roomstructure=' + roomstructure + '&' + 'groupsize=' + groupsize + '&' +
            'facilities=' + facilities;
        $.ajax({
            type: "POST",
            url: "process_timetableMon2.php",
            data: dataString,
            cache: false,
            success: function (html) {
                $('#mon').html(html);
            }
        });
    });
4

2 に答える 2

0

コンマを使用します。

$('#park2,#lecturestyle2,#roomstructure2,#slider2').add(document).on(/* blah blah blah*/)

$('document')フォームに入れることができないので$('somestring')、jquery リストに追加します。.add()

于 2013-02-17T16:42:30.910 に答える
0

関数を作成し、それをハンドラーとして使用します。

$(document).on('change click blur', '.roomFac', eventFunc);
$("#park2").on("change click blur", eventFunc);
$("#lecturestyle2").on("change click blur", eventFunc);
$("#room_structure2").on("change click blur", eventFunc);
$("#slider2").on("change click blur", eventFunc);

function eventFunc()
{
    var park = $("#park2").val();
    var lecturestyle = $("#lecture_style2").val();
    var roomstructure = $("#room_structure2").val();
    var groupsize = $("#groupSize2").val();
    var facilities = "";
    $('select[name*=roomFac]').each(function () {
        facilities += $(this).val();
        facilities += ",";
    });
    var dataString = 'park=' + park + '&' + 'lecturestyle=' + lecturestyle + '&' +
        'roomstructure=' + roomstructure + '&' + 'groupsize=' + groupsize + '&' +
        'facilities=' + facilities;
    $.ajax({
        type: "POST",
        url: "process_timetableMon2.php",
        data: dataString,
        cache: false,
        success: function (html) {
            $('#mon').html(html);
        }
    });
}
于 2013-02-17T16:45:16.140 に答える