2016-04-13 116 views
0

我想用一個輸入文本「連接」一個選擇,而不刷新頁面選擇平變化更新PHP價值

這是我的例子

<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) ?> 

然後在變量$名稱有值從數據庫

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

我想我必須使用jQuery的崗位/得到,但如何更新只是我需要檢查分貝變種?

+7

AJAX是爲這個 – Thamilan

+0

你可以用AJAX調用實現它,因爲AJAX不會刷新頁面。問題中添加Ajax標籤。 – RJParikh

回答

3

像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 ;) 
} 
0
$("#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. 
0

請清除一件事,爲什麼你需要sql查詢這裏。

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

第一個是名字,第一個是選項。那麼我們可以將第一個或第一個放入輸入框,而不使用sql和ajax。

只使用jQuery的這個

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

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