1
GET
メソッドを使用してフォームからチェックボックスの値(カテゴリ名)を送信しようとしています。私はカスタムPHP関数を使用して各カテゴリ名のキー(整数)を生成しています。私page.php
ファイルは私のpage.php
で私のURLPHP/jQuery - GET onChangeを使用してフォームチェックボックスの値を送信
のために使用されます。
<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
では:私が使用してpage.php
に私のプロダクトをソートするために、カテゴリキーをretriveしようとしています
$(function(){
$('#sidebar-filter-form').on('change', function() {
this.form.submit();
});
});
:
$category_keys = isset($_GET['category']) ? $_GET['category'] : null;
私は私のフォームは私のページをリロードし、(おそらく
%5B
とUnicode
[
と
]
ため
%5D
で)
www.mywebsite.com/shop?category[]=43&category[]=6&category[]=22
のようなものに自分のキーを取得するために私のURLを変更していない理由を知っていただきたいと思います
「変更」イベントが起きていますか? 'this.form'がフォームを選択してもよろしいですか? –
私はあなたが別のやり方でうまくいくことをお勧めします。なぜすべてのチェックボックスにクラスを使用せず、選択された入力を持つ配列を返す「each」というjQueryを使うのはなぜですか? –
@ Roamer-1888では、フォームを送信する前にユーザーが複数のチェックボックスの値を選択できるページを更新する前に、ある種の遅延(1~2秒)を追加したいと思う。私は送信ボタンを避けようとします。 'this.form'は変更に関する警告メッセージを正常にトリガすることができるので、フォームを選択すると信じています。 – LaGuille