select onchange 更新 php 值

select onchange update php value

我想"connect"一个select带有输入文本而不刷新页面

这是我的例子

<select name="name_select" id="my_select">
  <option value="1">first</option>
  <option value="2">first</option>
  <option value="3">first</option>
</select>

<?php ...query(SELECT name FROM table WHERE id = value) ?>

然后在 var $name 中有来自 db

的值
<input type="text" value="<?php echo $name; ?>" />

我想我必须使用 jquery post/get 但是如何只更新我需要检查数据库的变量?

$("#my_select").on("change", function () {
   $.ajax({
        url: "phpfile.php",
        method: 'POST',
        data: {val: $(this).val()},
        success: function (data) {
            $("[type='text']").val(data);

        }
    });
});

在phpfile.php

include("db.php");

// ... your code ...

// execute sql(SELECT name FROM table WHERE id = value) and return value.

就像Thamizhan在评论中说的,你需要使用AJAX。

这是一个简单的例子:

HTML (index.html)

<select name="name_select" id="my_select">
  <option value="1">first</option>
  <option value="2">first</option>
  <option value="3">first</option>
</select>

JS

$('#my_select').on('change', function () {
    var selectData = $(this).val();
    $.ajax({
        type: "POST",
        url: "custom.php",
        data: {'selectData': selectData },
        success: function (json) {
            // do things
        }
    });
}

PHP (custom.php)

if (isset($_POST['selectData'])) {
    var_dump($_POST['selectData']); // $_POST['selectData'] is the selected value
    // query here
    // and you can return the result if you want to do some things cool ;)
}

请澄清一件事,为什么您需要 sql 查询。

<option value="1">first</option>

第一个是名称,1 是选项。那么我们可以在不使用 sql 和 ajax.

的情况下将 first 或 1 放入输入框

为此仅使用 jquery

$(document).ready(function(){
  $("#my_select").change(function(){

    var thisval = $(this).val();    
    $("input").val(thisval);
  });
});