每个产品的页面上都有12种这些表格。 它允许某人输入数量并让其计算价格,但尚未生效。 新价格应替换orderprice类div中的价格。

<form action="" method="post">

    <input type="number" id="amount-<?php echo $productId; ?>" class="orderamount" name="amount" value="1" min="1" max="2000" maxlength="4" />
    <input type="hidden" name="product" value="<?php echo $productId; ?>" readonly="readonly" disabled="disabled" />
    <div id="price-<?php echo $productId; ?>" class="orderprice">

        <?php
            echo html_entity_decode($currencyAlignCode) . round($productPrice * $currencyMultiplier, 2);
        ?>

    </div>
    <input type="submit" class="addcart" value="" name="order" /> 
</form>

我想取值的amount-<?php echo $productId; ?> amount-<?php echo $productId; ?> ,并通过将该值乘以$productPrice再乘以$currencyMultiplier自动计算价格,然后在其前面添加html_entity_decode($currencyAlignCode)

如果页面上只有1个表单,并且我不需要考虑<?php echo $productId; ?>我知道该怎么做<?php echo $productId; ?> <?php echo $productId; ?> 这是我要针对单个表单执行的操作,但是我要针对几个表单执行此操作? 每个价格只能从相关的输入框中获取数量吗?

$(document).ready(function() {
    $("#amount").bind('click keyup', function(event) {

        var amount = $("#amount").val();
        var productPrice = <?php echo $productPrice; ?>;
        var currencyMultiplier = <?php echo $currencyMultiplier; ?>;
        var currencyCode = <?php echo html_entity_decode($currencyAlignCode); ?>;

        var totalPrice = amount * productPrice * currencyMultiplier;

        $("#price").html('currencyCode' + totalPrice);

    });
});

此代码仅适用于1种产品。 我希望每个输入都显示在相应的价格框中。

抱歉,如果不清楚,那很难解释。

#1楼 票数:0

也许是这样的吗? 使用多个选择器或抓住以某些内容开头的选择器。

  <input type="number" id="amount-<?php echo $productId; ?>" productPrice="<?php echo $productPrice; ?>" ...


$("[id^=amount]").each(function(index){
  $(this).bind("click key up", function(){
    var amount = $(this).val();
    var productPrice = $(this).attr('productPrice');
    ...
  });
});

https://api.jquery.com/each/

http://api.jquery.com/attribute-starts-with-selector/

#2楼 票数:0

我最终做了一些广泛的Google搜索,并提出了解决方案。

我使用attr来根据更改后的类获取ID。

$(document).ready(function() {
    $(".orderamount").bind('click keyup', function(event) {



        var productId = $(this).attr('id');
        var setId = productId.substring(7);

        var amount = $('#amount-' + setId).val();
        var productPrice = <?php echo $productPrice; ?>;
        var currencyMultiplier = <?php echo $currencyMultiplier; ?>;
        var currencyCode = <?php echo html_entity_decode($currencyAlignCode); ?>;


        var totalPrice = round(amount * productPrice * currencyMultiplier, 2);

        $('#price-' + setId).html('currencyCode' + totalPrice);


    });
});

  ask by invidious translate from so

未解决问题?本站智能推荐:

1回复

同一页面上具有相同ID的多个AJAX表单

我在同一页面上(顶部和底部)有两个AJAX新闻订阅表单。 两种形式具有相同的ID。 顶部窗体工作正常,但是我无法使警报消息显示在底部窗体中。 我找到了这个问题,但是不确定如何在我的代码中实现答案。 形式如下: 这是jQuery: 任何帮助,将不胜感激。 谢谢
2回复

标签页不能在同一页面上使用多个

我正在使用PHP。 我正在从数据库中获取产品数据,并以标签方式显示。 现在,我有一个无法使用多个选项卡的脚本部分。 它仅适用于第一个标签部分,并且我有6个以上的标签部分。 我在$('.tab-content').removeClass('current');上遇到问题 因为它会将当
3回复

使用jQuery的多个相同ID的同一页面

在开始之前,我确实知道在同一页面上具有一个以上一个元素的相同ID是无效的,但这是我想出的解决此问题的最佳方法... 我在一页上有几个生成的表,每个表的每一行都可以通过每行的按钮进行编辑或删除。 这些按钮附有ID,因此我可以轻松知道正在编辑/删除的对象的ID。 保存到数据库时,此方法效果
2回复

如何使用jQuery和MySQL在同一页面上提交和显示?

目标: 创建一个Q&A脚本(使用PHP,JavaScript和jQuery),使用户可以提出问题并提交上述问题的答案。 如果用户提交了新答案,该答案将被插入数据库中,并且包含答案的div将自动刷新以包括/查看该新提交的答案。 问题: 提交答案后,提交过程不起作用 。 这
1回复

jQuery:在同一页面上选择具有多个不同ID和其他tds的单击的td表元素

我正在构建调度软件。 我正在使用许多表格来显示时间/日期等。 在一个特定的表中,具有ID的单元格列出了日期和员工ID号。 我正在尝试建立交易转移系统。 单击单元格时,将执行ajax功能。 这是一个示例单元格: jQuery代码: 如何设置单击特定单元格时激活
1回复

在同一页面上需要多个相同的jQuery效果之一

所以我正在使用这个jquery后台滚动器,基本上我想在同一页面上获得两个以上(以不同的速度运行),但我不知道该怎么做。 http://www.devirtuoso.com/2009/07/how-to-build-an-animated-header-in-jquery/ 我可以在
1回复

在使用ajax,php的单击同一页面上获取ID

简介:我正在使用PHP和Ajax做一个服务器端数据表库。 当用户单击“编辑”按钮时,我想将该ID传输到PHP,以便稍后进行更新... 我基本上是将这两篇堆栈溢出文章组合在一起: 单击时获取元素的ID(php,jquery,ajax,javascript) 如何获得dat
1回复

同一页面上的多个有用按钮

我使用jQuery制作了一个“有用的按钮”,以便用户可以对问题的答案进行评分(例如stackoverflow上的upvote函数)。 function submitForm() { var form = document.myform; var dataString = $(fo