0

WordPressの高度な検索があり、ユーザーがドロップダウンメニューから該当するカテゴリを選択すると、その提案されたカテゴリに移動します。オプションを選択すると自動的に行われるのではなく、送信時にそのカテゴリに移動されるようにしたいと思います。これが私のJSコードです:

$(function(){ // bind change event to select 
    $('#dynamic_select').on('change', function () { 
        var url = $(this).val(); // get selected value 
        if (url) { // require a URL 
            window.location = url; 
        } return false; 
    }); 
}); 

$(function(){ // bind change event to select 
    $('#dynamic_select2').on('change', function () { 
        var url = $(this).val(); // get selected value 
        if (url) {  // require a URL 
            window.location = url; 
        } return false; 
    }); 
});

そしてこれが私のHTMLです:

<form class="treatment-form-procedure">

<label class="selectstyle" id="treatment-procedure-select" style="margin-top:10px;">
    <select id="dynamic_select">
        <option selected>Select One</option>
        <option class="level-0" value="<?php bloginfo('url'); ?>/treatment/medical-dermatology/">Medical Dermatology</option>
    </select>
</label>

<input type="submit" value="Search" id="treatmentSubmit" style="padding: 10px 7px;" />

4

2 に答える 2

0

dynamic_select の JavaScript ハンドラーを削除するだけで、変更時にフォームが送信されなくなります。. . 削除またはコメントアウトできるコードは次のとおりです。

$(function(){ // bind change event to select 
    $('#dynamic_select').on('change', function () { 
        var url = $(this).val(); // get selected value 
        if (url) { // require a URL 
            window.location = url; 
        } return false; 
    }); 
}); 
于 2012-09-26T23:49:08.767 に答える
0

フォーム送信をキャプチャします。

$('form.treatment-form-procedure').on('submit', function (event) {
    event.preventDefault();
    window.location = $('#dynamic_select').val();
}); 

または(そして私はこれが好きです)フォームアクションを更新します:

$('#dynamic_select').on('change', function () {
    $(this).closest('form').attr('action', $(this).val());
});

...フォームはそのURLに送信されます。

于 2012-09-27T00:03:11.980 に答える