1

チェックボックス(カテゴリフィルター)付きのカテゴリのリストビューがあります。しかし、私はカスタムチェックボックスを作成しました(cssを使用したlinkBut​​tonは私のチェックボックスです)。

<asp:LinkButton CssClass="checkBox" runat="server">

.checkbox {background: url('/style/images/checkbox.png') no-repeat top left;width:9px;height:9px;text-decoration:none;
.checked {background: url('/style/images/selected_checkbox.png') no-repeat top left;}

そして、linkBut​​ton(カスタムチェックボックスのクリック)で準備ができているドキュメントのjQueryで、 cssを変更します(チェックされたクラスを追加します)

$(".filter-select .checkbox").click(function () {
            if ($(this).hasClass('checked'))
                $(this).removeClass('checked');
            else $(this).addClass('checked');

            return false;
        });

すべて正常に動作しますが、リストビュー itemCommand でチェック済みのチェックボックスを処理したい場合、itemCommand が起動しません... jquery 呼び出しを削除すると、すべて問題ないので、jquery は itemCommand が linkBut​​ton クリックで起動するのをブロックまたは防止すると思います。

しかし、この itemCommand を呼び出す必要があるので、どうすればよいでしょうか? このチェックボックスをjQueryで使用する方法を削除/変更する必要があります。または、何かを見逃していましたか... OnClientClick="this.disabled='true';"も試しました 私が見たのは他の投稿ですが、結果はありませんでした..

4

1 に答える 1

1

わかりました、アプローチを変更し、jQuery の考え方を削除しました...すべてを ItemCommand メソッドに入れたので、itemCommand のようにコントロールを取得します

LinkButton selected = e.Item.FindControl("id") as LinkButton;

次に、次のようなクラスを確認します。

selected.CssClass = (selected.CssClass != "checkbox checked") ? "checkbox checked" : "checkbox";

そして、チェックされたすべてのlinkBut​​tons(custom checkBoxes)をチェックするよりも

したがって、jQuery 割り込みは必要ありません。手伝ってくれてありがとう

于 2013-05-23T08:55:55.090 に答える