0

チェックボックスがチェックされていないかどうかを確認するために使用するjQueryコードがあります。そうでない場合は、イベントをスローします。ここにあります:


$('#Button').click(function() {
        if(!$('input[@name=\"image_id\"]:checked').val()){
            //Do Something
            return false;
            }
});

それはうまく機能しますが、jQuery Checkboxプラグインを使用してデフォルトのチェックボックスのスタイルを設定することにしました。

ここで問題が発生します。スタイリング後の出力は次のとおりです。

<input type="radio" name="answer_id" value="37" style="position: absolute; z-index: -1; visibility: hidden;">`
<span class="jquery-safari-checkbox jquery-safari-checkbox-checked"><span class="mark"><img src="empty.png"></span></span>

したがって、入力がチェックされているかどうかを確認する方法がありません。私ができること(もしあれば)についてのアイデアはありますか、それとも古いチェックボックスに戻すだけですか?

4

2 に答える 2

1

私の意見では、これをこのようにするのはちょっと面倒ですが、

if($(".jquery-safari-checkbox").hasClass("jquery-safari-checkbox-checked")){
   //Do something
   return false;
}
于 2013-02-28T18:50:45.023 に答える
1

特別なことをする必要はありません。元のチェックボックスはまだそこにあり、その状態を維持しています。ファンシーチェックボックスをクリックすると、プラグインは非表示のチェックボックスを現在の状態に合わせて更新します。

最新の jQuery を使用する場合は、コードを少し更新することもできます。あなたのコードはかなり時代遅れです:

$('#Button').click(function () {
    if (!$('input[name=image_id]').prop('checked')) {
        //Do something
        return false;
    }
});

デモ: http://jsfiddle.net/k2d6E/

于 2013-02-28T19:08:47.937 に答える