我有一个表名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字段。怎么做?请帮帮....
答案 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);
});
});
请参阅:
答案 2 :(得分:0)
$('#materialcode_1').on('change', function() {
$('#description_1').val($(this).val());
});