- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 jQuery 移动页面(使用 PHP),该页面使用 MySQL 数据库中的表(该表包含 id、items、cost)中的“items”填充 select 元素及其选项标记。使用常用的 mysql_query 和 while mysql_fetch_assoc 方法来回显选项,效果很好。剥离为裸代码:
<?php
$itemQuery = mysql_query("SELECT shortDesc FROM `items` ORDER BY shortDesc");
?>
<label for="item" class="select">Item:</label>
<select name="item" id="item" data-native-menu="false">
<option>Select Item:</option>
<?php
while($temp = mysql_fetch_assoc($itemQuery))
{
echo "<option value='".$temp['shortDesc']."'>".$temp['shortDesc']."</option>";
}
?>
</select>
但是,当用户从列表中选择一个项目时,我希望能够使用 MySQL 表中的实际项目成本来更新名为“cost”的输入元素,但我不确定该怎么做使用 jQuery/PHP/MySQL。成本输入字段:
<label for="cost">Cost:</label>
<input type="text" name="cost" id="cost" value="" placeholder="Cost (£)"/>
我也不确定我们是否可以从 $itemQuery 中已返回的结果中获取成本值(通过将 SELECT 更改为shortDesc,cost)保存另一个数据库查询,或者我们是否必须再次查询数据库执行选择,其中用户的选择=shortDesc。
我怀疑以不同的形式,这是开发者的共同需求;本质上是根据用户的选择/交互从数据库中获取一些信息。我已经在 Google 上查看并在这里进行了搜索,但我不确定我是否使用了正确的搜索词来查找我怀疑在其他地方已经得到解答的内容!
一如既往地非常感谢您的帮助。
最佳答案
你可以这样做:
1) 循环查询结果并编写选项和一些 JavaScript(我使用关联数组)
<?php
$result = mysql_query("SELECT shortDesc,costs FROM items ORDER BY shortDesc");
$options = '';
$javascript = '';
while ($row = mysql_fetch_assoc($result))
{
$options .= '<option value="'.$row['shortDesc'].'">'.$row['shortDesc'].'</option>';
$javascript .= '\''.$row['shortDesc'].'\' : \''.$row['costs'].'\',';
}
?>
2) 编写 html 和 javascript:
<select id="yourselect">
<option>select</option>
<?=$options?>
</select>
<label for="cost">Cost:</label>
<input type="text" name="cost" id="cost" value="" placeholder="Cost (£)"/>
3) 编写一些 JavaScript 来更新您的输入字段:
<script>
var costs = {<?=$javascript?>};
$(function() {
$('#yourselect').change(function() {
cost = costs[$('#yourselect').val()];
$('#cost').val(cost);
});
});
</script>
关于php - jQuery 移动 : Updating an input from MySQL table based on a selection from a list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16001492/
我是一名优秀的程序员,十分优秀!