我已经在网站上搜索了这个,但我空手而归。这是我想要做的:
我知道我将需要JavaScript来解决这个问题,但我的JS技能并不是那么热门(而且我认为我今天正在暂时失去脑力)!
这是我到目前为止的代码(不要担心过时的PHP):
<select name="item" id="item">
<?php
while($row = mysql_fetch_array($result)) {
$item_id = $row['item_id'];
$item_category = $row['item_category'];
$item_title = $row['item_title'];
$item_price = $row['item_price'];
$item_description = $row['item_description'];
echo "<option value=\"".$item_id."\">".$item_title."</option>";
}
?>
</select>
<script>
function update_txt() {
price = document.getElementById('item').selectedIndex.value;
document.getElementById('item_details').value = price;
document.getElementById('item_price').value = price;
}
</script>
<input id="item_details" type="text" class="validate">
<input id="item_price" type="text" class="validate" value="$">
非常感谢任何帮助!如果您需要任何澄清,请告诉我。 :)
答案 0 :(得分:3)
我会对该行进行json编码并将其作为数据属性存储在该选项上,然后读取选择更改事件的属性:
<select name="item" id="item">
<?php
while($row = mysql_fetch_array($result)) {
$item_id = $row['item_id'];
$item_title = $row['item_title'];
echo "<option value=\"".$item_id."\" data-json='" . json_encode($row) . "'>".$item_title."</option>";
}
?>
</select>
<input id="item_details" type="text" class="validate">
<input id="item_price" type="text" class="validate" value="$">
<script>
$('#item').on('change', function() {
var selected = $(this).find('option[value="' + $(this).val() + '"]').data('json');
$('#item_details').val(selected.item_description);
$('#item_price').val(selected.item_price);
});
</script>
答案 1 :(得分:1)
您可以结合使用PHP,AJAX和JavaScript(或jQuery)。
总体思路如下:
这里有一个很好的教程,展示了它如何组合在一起:http://www.tizag.com/ajaxTutorial/ajax-mysql-database.php。我会使用预准备语句而不是本例中显示的SQL查询。