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

2020-08-17 18:58:59 +08:00
 wen0750

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


这是最开始的状态






求解救
html link 1: here
html link 2 - codepen . io: here
2299 次点击
所在节点    JavaScript
11 条回复
u6pM63mMZ34z32cE
2020-08-17 19:14:35 +08:00
wen0750
2020-08-17 19:18:40 +08:00
@mebtte 求教!如果可以的话,麻烦你教我一下🙇
autoxbc
2020-08-17 19:19:58 +08:00
监听列表框 change 事件
https://segmentfault.com/a/1190000004434194
wxsm
2020-08-17 19:54:33 +08:00
1. 监听选择框的 onchange / oninput
2. 在回调函数内将数量输入框的值设置为 1
wen0750
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
2020-08-17 20:48:43 +08:00
(建议加个判断,当用户已经编辑过就不要再覆盖了,不然用户大概会投诉
wen0750
2020-08-17 20:49:32 +08:00
我在想有没有一个聪明点的方法,因为商品是很多的,不可能每个每个的改,如果是跟 class 的话。网站是用 wordpress 商品是 woocommerce 。有没有比较熟悉的大神网友們能帮一下忙。
wen0750
2020-08-17 21:11:52 +08:00
@codehz 好的👍
Ainsoph
2020-08-18 07:04:35 +08:00
建议从逻辑上修改,像是默认用数量 1,还有选定班级后才能更改数量。
wen0750
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
2020-08-18 20:03:05 +08:00
JS 是图灵完备的语言

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/699072

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX