在php

时间:2018-03-05 06:27:54

标签: javascript php jquery bootstrap-4 bootstrap-select

因此,我尝试制作各种产品页面,其中包含项目的下拉菜单和将其添加到购物车的按钮。现在,我有从MySQL数据库获取的值的产品,并循环遍历所有值以创建产品表。下拉菜单也是从MySQL数据库填充的。

我想要做的是,使用PHP的GET功能,当用户点击"添加到购物车"时,用户从下拉框中选择的值就会显示出来。按钮。理想情况下,我会在这种情况下有一个变量$ x,并将其设置为默认值为1.然后,如果用户更改下拉值(选择选择器),则会将$ x变量更新为保留该产品的新金额。然后,当用户单击“添加到cary”按钮时,它将使用产品的ID执行,然后执行金额。

IE)addtocart.php?id = 12& amount = 3

我不确定如何处理这个问题,我想在点击它时听取JS事件,因为bootstrap-select上有文档https://silviomoreto.github.io/bootstrap-select/options/#events,但我仍然不知道如何获取值我的addtocart.php的下拉框。

下面我添加了下拉框的代码,以及我试图用来查看是否曾经调用过的一堆JS脚本。根据我的知识,他们都没有被调用,我也无法弄清楚为什么,但如果我能找到一种方法来做这个没有JS的方法,那将是更好的,因为我知道JS是客户端而PHP是服务器。

谢谢,任何帮助将不胜感激。



while($r = mysqli_fetch_assoc($res)){
            if ($counter % 3 == 0){
                echo '</div>';
                echo '<div class="card-deck mb-3 text-center">';
            }
            $counter++;
            echo '<div class="card mb-4 box-shadow">';
            echo '<div class="card-header">';
            echo ' <h4 class="my-0 font-weight-normal">'.$r['name'].'</h4>';
            echo '</div>';
            echo '<div class="card-body">';
            echo '<img class="rounded-circle" src="'.$r['image'].'" alt="'.$r['name'].'" width="140" height="140">';

            echo '<div>';
            echo '<select class="selectpicker show-tick" data-style="btn-info" data-width="50%">';
            echo '<option value="1"><h1>$'.$r[price_1].' @ 1</h1></option>';
            echo '<option value="2"><h3>$'.$r[price_2].' @ 2</h3></option>';
            echo '<option value="3"><h3>$'.$r[price_3].' @ 3</h3></option>';
            echo '<option value="4"><h3>$'.$r[price_4].' @ 4</h3></option>';
            echo '<option value="5"><h3>$'.$r[price_5].' @ 5</h3></option>';
            echo '<option value="6"><h3>$'.$r[price_6].' @ 6</h3></option>';
            echo '</select>';
            echo '</div>';
            echo '<p class="card-text">'.$r['description'].'</p>';

            //Help here, trying to get the value from the selected value into the $x variable.

            echo '<p><a href="addtocart.php?id='.$r[id].'&amount='.$x.'" class="btn btn-lg btn-block btn-outline-primary" role="button">Addd to Cart</a></p>';
            echo '</div>';
            echo '</div>';
         }
&#13;
&#13;
&#13;

&#13;
&#13;
<script>
    $(document).ready(function() {
        $('.selectpicker').selectpicker({
            style: 'btn-info',
            size: 4
        });
    });
</script>
<script>
    $(document).ready(function() {
        $('.selectpicker').on('click', function () {
            var p1 = "suc1";
            alert($(this).val());
            console.log($(this).val());
        });
    });
</script>
<script>
    $(document).ready(function() {
        $('.selectpicker').on('change', function () {
            var p1 = "suc2";
            var selected = []
            selected = $('.selectpicker').val()
            console.log(selected); //Get the multiple values selected in an array
            console.log(selected.length); //Length of the array
        });
    });
</script>
<script>
    $(document).ready(function() {
        $('.selectpicker').on('changed.bs.select', function (e) {
            alert("Hi");
        });
    });
</script>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

将链接更改为按钮(我使用过&#39;购物车按钮&#39;类)

    $("body").on("click", ".cart-button", function () {
        var selected = $('.selectpicker').val();
        var rid = $(this).data("rid");
        location.href = "addtocart.php?id=" + rid + "&amount=" + selected;
    });

我在您的按钮中添加了data属性来保存&#39; id&#39;变量

JS将获取所选选项,然后id将用户发送到该位置。 的javascript:

\b(?:word1\W+(?:\w+\W+){0,5}?word2|word2\W+(?:\w+\W+){0,5}?word1)\b