簡體   English   中英

PHP / jQuery-使用GET onChange提交表單復選框值

[英]PHP/jQuery - Submit a form checkbox values using GET onChange

我正在嘗試使用GET方法從表單提交復選框值(類別名稱)。 我正在使用自定義PHP函數為每個類別名稱生成一個密鑰(整數)。 我的page.php文件用於我的URL www.mywebsite.com/shop

在我的page.php

<form method="GET" action="" id="sidebar-filter-form">
    <ul class="sidebar-filter-options-list">
        <?php foreach($category_list as $key => $row): ?>
            <li><input type="checkbox" name="category[]" value="<?php category_key($row->category_name, "k");?>"> <?php echo $row->category_name;?></li>
        <?php endforeach; ?>
    </ul>
</form>

custom.js

$(function(){
     $('#sidebar-filter-form').on('change', function() {
        this.form.submit();
    }); 
});

我正在嘗試使用以下方法檢索用於對page.php產品進行排序的類別鍵:

$category_keys = isset($_GET['category']) ? $_GET['category'] : null;

我想知道為什么我的表單沒有重新加載頁面並更改URL來檢索我的鍵,例如www.mywebsite.com/shop?category[]=43&category[]=6&category[]=22 (可能帶有%5B Unicode []%5B%5D

另一個解決方案是將每個復選框都設為一個復選框。 嘗試這個:

<html>
<head>
    <title></title>
</head>
<body>

    <?
    $items = array(
        array('id' => 20, 'name' => 'Tomato'),
        array('id' => 32, 'name' => 'Milk'),
        array('id' => 34, 'name' => 'Sugar')
    );
    ?>
    <ul>    
<?  foreach ( $items as $comboItem ) : ?>
        <li><input data-id="<?=$comboItem['id']?>" type="checkbox" class="pick-me"/><?=$comboItem['name']?></li>
<?  endforeach; ?>  
    </ul>
    <br>
    <button class="get-all">Get all items selected</button>
    <script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" crossorigin="anonymous"></script>
    <script type="text/javascript">
        (function() {
            $('body').on('click','.get-all', function() {
                var items = [];
                $('.pick-me').each(function() {
                    if ( $(this).is(':checked') ) {
                        items.push($(this).attr('data-id'));
                    }
                });
                console.log(items);
            });
        })();
    </script>
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM