0

選択ドロップダウンからオプションが選択された場合にのみ実行され、別のオプションが選択されるたびに更新されるPHPクエリを実行するにはどうすればよいですか?

たとえば、HTMLは次のとおりです。

<html>
<head>
<script type="text/javascript" src="/hr/includes/jui/js/jquery-ui-1.8.20.min.js"</script>
<script>
$(document).ready(function() {
    $('#select_box_1').change(function() {
       if($(this).val() != '')
        $.ajax({
            type: 'get',
            url: 'balance1.php',
            data: 'value' + $(this).val() ,
            success: function(data) {
                $("#result-div").html(data);
            }
        });
     }
    });
});
</script>
</head>

<body>

<form name="form" id="form" method="post" action="validate.php">

<div id="select_box_1">
<select name="drop_down">
<option value="">Please choose</option>
<option value="1">John</option>
<option value="2">Bob</option>
<option value="3">Mike</option>
</select>
</div>

<div id="result-div">

</div>

<input type="submit">

</form>

</body>

</html>

balance1.php

<?php 
print "GET Value:".$_GET['value'];
?>

選択した値に応じて、選択ボックスの下でクエリを実行したいと思います。たとえば、何も選択されていない場合、クエリは実行されません。ユーザーがリストからJohnを選択した場合、クエリはid = 1の場所で実行され、Johnの結果が表示されます。次にユーザーがBobを選択した場合、id = 2などの場所でクエリを再度実行する必要がありますか?

4

4 に答える 4

1

i suggest you to use jquery.ajax, which is way more powerful than you think mate ! below is the example code to make it working

$('#select_box_1').change(function() {
   if($(this).val() != '')
    $.ajax({
        type: 'get',
        url: 'URL To Your PHP Script',
        data: 'value' + $(this).val() ,
        success: function(data) {
            $("#result-div").html(data);
        }
    });
 }
});

EDIT : $_GET['value'] will hold the value in your php script, you can query database using that value and return your result or output to ajax call and then you can simply populate the data in your html view

于 2012-05-24T13:51:54.973 に答える
1

これは機能しています:

[...]
<select name="drop_down" id="sel_something">
[...]

$('#sel_something').change(function() {
    if($(this).val() != '') {
        $.ajax({
            type: 'get',
            url: 'someurl',
            data: { 'value' : $(this).val() } ,
            success: function(data) {
                // do your stuff
            }
        });
    }
});

選択にIDを指定し、データ行を変更しました(そしていくつかの構文修正を追加しました)。

于 2012-05-24T19:15:35.323 に答える
0

次のようなものを試してください。

$("#select_box_1").change(function(){

    if ($(this).val() != "") {

      $.ajax({
         type: "POST",
         url: "foo.php",
         data: "id=" + $("#select_box_1").val(),
         success: function(msg){
           $("#result").text(msg);
         }
      });

    }

});
于 2012-05-24T13:50:16.347 に答える
0

ドロップダウンで値が変更されるたびにページをリロードする場合は、SELECTタグでonchange属性を使用できます。

値が変更されたときにページをリロードし、URLにGET変数を設定します。このGET変数がNULLの場合は、PHPコードを処理しないでください...それ以外の場合は、それに応じて処理してください。

于 2012-05-24T14:05:10.157 に答える