php更改文本框值基于下拉列表

时间:2016-06-10 02:52:59

标签: php jquery html

我有一个表名tbl_material:

  

材料|描述

     

1000 |三星

     

2000 | iphone

我编写下面的代码,将材料字段放入HTML的下拉列表

require ("con_config.php");
$select_material_code = "SELECT material, description FROM tbl_material";
$get_material_code = mysqli_query ($con, $select_material_code);
$options_material_Code = "--Select Product--";
$option_material_description = "";
while ($result_material_code = mysqli_fetch_array($get_material_code))
{
    $options_material_Code = $options_material_Code."<option>$result_material_code[1]</option>";
}

这是HTML

<select name="materialcode_1" id="materialcode_1">
<option value = "<?php echo $options_material_Code;?>"><?php echo $options_material_Code;?></option>
</select>

我有一个文本框:

<input type="text" name="description_1" placeholder="Description" maxlength="40" size="40" value="" id="description_1">

如果我更改下拉列表值,我想从tbl_material获取description字段。怎么做?请帮帮....

3 个答案:

答案 0 :(得分:0)

success

答案 1 :(得分:0)

这个答案假定描述可能包含任意文本,可能包含的文本比您想要输入下拉列表的值更长,这就是我使用JSON对象的原因。

首先,让我们一次性获取所有结果,这样我们就可以对它们进行JSON编码,然后进行循环。

$result_material_code = mysqli_fetch_all($get_material_code, MYSQLI_ASSOC);
echo '<select name="materialcode_1" id="materialcode_1">';
foreach($result_material_code as $index=>$row){
    echo "<option value='$index'>{$row['material']}</option>";
}
echo "</select>";

然后我们将JSON放入Javascript并使用jQuery来监听下拉列表的更改。当用户更改下拉列表时,请显示包含说明的警报。

$(function(){
    // Give the DB results to JavaScript
    var materialcode_1_data = <?php echo json_encode($result_material_code); ?>;

    // Listen for Dropdown changes
    $("#materialcode_1").change(function(){
        // Alert the description
        alert(materialcode_1_data[$(this).val()].description);
    });
});

请参阅:

mysqli_fetch_all()

change()

答案 2 :(得分:0)

$('#materialcode_1').on('change', function() {
  $('#description_1').val($(this).val());
});