【问题标题】:How to display price automatically after select选择后如何自动显示价格
【发布时间】:2020-09-16 16:38:13
【问题描述】:

这是我的代码示例:

<select name="codethings"id="products">
<option value="0">--choose--</option>
<?php 
   include 'config.php';
   $sql="select * from thing where status='S01'";
   $call=mysqli_query($connect,$sql);
while($data=mysqli_fetch_array($call)){ ?>
<option value="<?php echo $data['codethings']; ?>" data-price="<?php echo ['price']; 
? >" ><?php echo $data['codethings'];?>-<?php echo $data['namet'];?>(<?php echo $data['price']; ?>)</option>
    <?php } ?>
</select>
<br>

价格:

<input type="text" name="price" id="priceInput" value="" disabled="disabled"><br>

脚本

<script>
$(function () {
    $('#products').change(function () {
        $('#priceInput').val($('#products option:selected').attr('data-price'));
    });
});
</script>

我参考的代码 (Automatically show price when we select the ID in PHP)

我选择后它不起作用。我想如何让它在我选择后自动显示价格

【问题讨论】:

  • 我没有看到任何非常错误的地方。做一些调试?生成的 html 实际上在 data-price 中有值吗?将 console.log() 调用放在你的 onchange 函数中,看看它是否真的被调用,看看它是否找到了选定的选项,看看它是否找到了#priceInput
  • 注意:object-oriented interface to mysqli 明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql_query 接口混淆,因为缺少单个i 会导致麻烦。示例:$db = new mysqli(…)$db-&gt;prepare("…") 过程接口是 PHP 4 时代的产物,不应在新代码中使用。此外,程序界面的错误检查和报告不那么严格,使调试工作受挫。
  • 因为php是我的第一门编程语言,所以我很难理解。我自己学php。
  • 您确定要加载 jQuery 吗? &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"&gt;&lt;/script&gt;

标签: javascript php mysql option


【解决方案1】:

$(function () {
        $('#products').change(function () {
            $('#priceInput').val($('#products option:selected').attr('data-price'));
        });
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="productID" id="products">
        <option value="" >-Select-</option>
        <option value="0" data-price="100">First product</option>
        <option value="1" data-price="200">Second product</option>
    </select><br/>
    Price :<input type="text" name="Price" value="" id="priceInput" disabled="disabled"/></br>

【讨论】:

  • 尝试使用此代码,并在选择从数据库中获取数据。
  • 一般来说,如果答案包含对代码的用途的解释,以及为什么在不介绍其他人的情况下解决问题的原因,答案会更有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
  • 2014-06-12
  • 2016-02-23
  • 1970-01-01
  • 2017-01-04
相关资源
最近更新 更多