js $post が Jquery モバイルで動作しないという問題があります。基本的に、バスケットには製品のリストがありますが、単一の製品を削除すると、別のボタンで問題なく動作し、チェックボックスを使用して大量に削除しようとしても機能しません。
ここにジャバスクリプトがあります
$('.usunZbiorczo').click(function() {
var zaznaczone = "";
$(".zaznacz").each(function() {
if ($(this).is(':checked'))
{
zaznaczone = zaznaczone +
$(this).val() + "|";
}
});
if (zaznaczone != "")
{
$post('<?php echo url::site("koszyk/ajaxUsunZbiorczo/", "http"); ?>', {zaznaczone: zaznaczone}, function(xml) {
window.location.replace("/koszyk")
});
}
//if ($(".zaznacz").filter(':checked').length == 0) return;
//$('#usunZbiorczo').dialog("open");
//e.preventDefault();
});
チェックボックスは次のとおりです。
<?php echo form::checkbox("zaznacz_" . $pozycja->ks_Id, $pozycja->ks_Id, false, array("class" => "zaznacz", "data-inline" => "true", "data-iconpos" => "top", "data-mini" => "true", "style"=>"visibility: hidden")) ?>
これは Kohana フレームワークからのもので、基本的には単純な HTML チェックボックス コードを生成する PHP 関数です。配列には、標準の HTML 属性があります。
そして、これを受け取るPHPファイルは次のとおりです。
$zaznaczone = explode("|", $_POST["zaznaczone"]);
foreach ($zaznaczone as $zazn) {
if ($zazn == "")
continue;
$koszyk = ORM::factory("Koszyk")
->where("ks_Id", "=", $zazn)
->and_where("ks_uzytkownikId", "=", zalogowany::id())
->and_where("ks_magazynId", "=", magazyn::aktualny())
->and_where("ks_kontrahentId", "=", kontrahent::aktualny())
->find();
$koszyk->delete();
}
ORM も Kohana からのもので、基本的に MySQL ベースで機能します。しかし、私の問題は、javascript の $post が消えないことです... ページはその 2 番目の PHP に何も POST しません。
ああ、ここにも全体の操作を開始するボタンがあります。申し訳ありませんが、これもコハナからのものです。単純に生成されますが
<?= html::anchor("#", html::image("media/strona/img/delete.gif") . " " . __('Usuń'), array("class" => "usunZbiorczo", "style" => "margin-left: 10px;")) ?>