0

私がやりたいのは、テキストボックスの値とドロップダウンリストで選択した値を同時に出力することです。その理由は、最終的に mysql db テーブルを介して結果を並べ替えたいからです。今...テキストボックスを変更すると、ドロップダウンリストの値に追加されます。これが私が望むものです。しかし、ドロップダウン リストの値を変更すると、テキスト ボックスの値が認識されず、ドキュメントが値として読み込まれたときの状態に戻ります。両方の値を取得してエコーし、テキストボックスを「キーアップ」するか、ドロップダウンリストの値を「変更」したときに、それらを変更して変更を表示するにはどうすればよいですか。前もって感謝します。

jquery

$(document).ready(function () {
    var type_term = $("#type option:selected").text()
    var search_term = $("#search").val()
    $.post('search_db.php',{type_term:type_term, search_term:search_term}, function (data) {
        $('#search_results').html(data) 
    });
    $('#search').keyup(function() {
        var search_term = $("#search").val()
        $.post('search_db.php',{type_term:type_term, search_term:search_term}, function (data) {
            $('#search_results').html(data) 
        });
    });
    $('#type').change(function() {
        var type_term = $("#type option:selected").text()
        $.post('search_db.php',{type_term:type_term, search_term:search_term}, function (data) {
           $('#search_results').html(data)      
        });
    });
});

HTML

<input id="search" type="text" value="Value">

<select id="type">
<option>Type1</option>
<option>Type2</option>
</select>

<div id="search_results"></div>

searchdb.php

$type_term = $_POST['type_term'];
$search_term = $_POST['search_term'];

echo $type_term;
echo $search_term;
4

1 に答える 1

0

変更するフォーム要素だけでなく、イベントごとに両方のフォーム要素の変数を設定してみてください。

$(document).ready(function () {
var type_term = $("#type option:selected").text()
var search_term = $("#search").val()
$.post('search_db.php',{type_term:type_term, search_term:search_term}, function (data) {
    $('#search_results').html(data) 
});
$('#search').keyup(function() {
    var search_term = $("#search").val()
    var type_term = $("#type option:selected").text()
    $.post('search_db.php',{type_term:type_term, search_term:search_term}, function (data) {
        $('#search_results').html(data) 
    });
});
$('#type').change(function() {
    var search_term = $("#search").val()
    var type_term = $("#type option:selected").text()
    $.post('search_db.php',{type_term:type_term, search_term:search_term}, function (data) {
       $('#search_results').html(data)      
    });
});
});
于 2013-05-06T02:08:31.740 に答える