0

次の問題に直面しています。私はユーザーの概要を把握しており、複数のユーザーを削除できるようにしたいと考えています。したがって、ユーザー 1 (ユーザー ID 1) とユーザー 2 (ユーザー ID 2) を確認すると、両方とも削除されます。

これを URL に次のように設定したいlocalhost/cms/users/multipledelete/1&2ので、 &. を使用します。

その URL をブラウザにハードに入力すると、削除はすでに機能します。私のJavaScriptでは、次のコードがあります:

    $('.checkbox').click(function() {
    if($(".checkbox").length == $(".checkbox:checked").length) {
            $("#checkall").prop('checked', this.checked);
        } else {
            $("#checkall").removeAttr("checked");
        }                     
});

そして私のインデックスでは、次のコードを設定しました:

<td>
<input type="checkbox" class="checkbox" name="check_list[]" value="<?php echo $user->id; ?>"/>
</td>
<td> ....... </td>

そして、私の概要の下に、URL を設定したい私のごみ箱: multipledelete/1&2

              <a href="<?php echo $this->url('zfcadmin/user', array('action'=>'multipledelete', 'id'=>'1&2'));?>">
                   <i class="icon-trash"></i>
              </a>

1&2 がどこにあるか、現在チェックされているチェックボックスが必要です。どうすればこれを修正できますか?

4

1 に答える 1

3

文字列を生成するには、JavaScript を使用する必要があり1&2ます。次のようなもの (jQuery で記述) が機能するはずです。

$('.checkbox:checked').map(function() {
    return this.value;
}).get().join('&');

それを分解する:

  • $('.checkbox:checked')checkedチェックボックスを選択します。
  • .map(function() { return this.value; })それらの値の配列を含む jQuery オブジェクトを生成します。
  • .get()それを実際の配列として返します
  • .join('&')配列のすべての要素を&

上記の結果を確認できるように、基本的なjsFiddle デモを作成しました。

次に、リンクをクリックしたときにそれを呼び出す必要があります (おそらく、idまたはclass選択できるようにするのが最善です)。これにより、チェックされた内容に基づいて動的になります。

$('#anchor-id').click(function(e) {
    e.preventDefault(); // don't follow the link
    var idString = $('.checkbox:checked').map(function() {
        return this.value;
    }).get().join('&');
    window.location.href = this.href + idString;
});

タグのhref属性を<a>静的部分にするので、localhost/cms/users/multipledelete/.

于 2013-04-12T10:08:13.410 に答える