V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
wen0750
V2EX  ›  JavaScript

此问题是否能使用 Java script 解决

  •  
  •   wen0750 · 2020-08-17 18:58:59 +08:00 · 2150 次点击
    这是一个创建于 1354 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以下是一个商品,我想当客人选好了日期之后,数量会由 0自动调成1 ,不知可否用 js 達成


    这是最开始的状态

    body.jpg

    body2.jpg

    body3.jpg
    求解救
    html link 1: here
    html link 2 - codepen . io: here
    第 1 条附言  ·  2020-08-17 19:35:36 +08:00
    11 条回复
    mebtte
        1
    mebtte  
       2020-08-17 19:14:35 +08:00   ❤️ 1
    wen0750
        2
    wen0750  
    OP
       2020-08-17 19:18:40 +08:00 via Android
    @mebtte 求教!如果可以的话,麻烦你教我一下🙇
    autoxbc
        3
    autoxbc  
       2020-08-17 19:19:58 +08:00   ❤️ 1
    监听列表框 change 事件
    https://segmentfault.com/a/1190000004434194
    wxsm
        4
    wxsm  
       2020-08-17 19:54:33 +08:00   ❤️ 1
    1. 监听选择框的 onchange / oninput
    2. 在回调函数内将数量输入框的值设置为 1
    wen0750
        5
    wen0750  
    OP
       2020-08-17 20:41:46 +08:00
    document.getElementById("%e7%8f%ad%e6%9c%9f").onchange = function() {myFunction()};

    function myFunction() {
    var x = document.getElementById("quantity_5f3a585e27291");
    x.value = 1;
    }
    </script>
    codehz
        6
    codehz  
       2020-08-17 20:48:43 +08:00   ❤️ 1
    (建议加个判断,当用户已经编辑过就不要再覆盖了,不然用户大概会投诉
    wen0750
        7
    wen0750  
    OP
       2020-08-17 20:49:32 +08:00 via Android
    我在想有没有一个聪明点的方法,因为商品是很多的,不可能每个每个的改,如果是跟 class 的话。网站是用 wordpress 商品是 woocommerce 。有没有比较熟悉的大神网友們能帮一下忙。
    wen0750
        8
    wen0750  
    OP
       2020-08-17 21:11:52 +08:00 via Android
    @codehz 好的👍
    Ainsoph
        9
    Ainsoph  
       2020-08-18 07:04:35 +08:00   ❤️ 1
    建议从逻辑上修改,像是默认用数量 1,还有选定班级后才能更改数量。
    wen0750
        10
    wen0750  
    OP
       2020-08-18 17:31:46 +08:00
    add_action( 'wp_footer', 'woosb_footer_js', 99 );
    function woosb_footer_js() {
    ?>
    <script type="text/javascript">
    jQuery(document).on('found_variation', function(e, t) {
    var $product = jQuery(e['target']).closest('.woosb-product');
    if ($product.length) {
    var $qty = $product.find('input.qty');
    if ($qty.val() == 0) {
    $qty.val(1).trigger('change');
    }
    }
    });
    jQuery(document).on('reset_data', function(e) {
    var $product = jQuery(e['target']).closest('.woosb-product');
    if ($product.length) {
    $product.find('input.qty').val(0).trigger('change');
    }
    });
    </script>
    <?php
    }




    Working for wordpress woocommerce


    ////////// ** Project END ** \\\\\\\\\
    yunser
        11
    yunser  
       2020-08-18 20:03:05 +08:00 via iPhone
    JS 是图灵完备的语言
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   759 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:48 · PVG 05:48 · LAX 14:48 · JFK 17:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.