1

カスタムチェックボックス画像のあるdivがあります。形になっています。クリックすると、画像が「クリックされた画像」に変わります。また、フォームに送信されるチェックボックス入力の値を調整します。問題は、「実際の」チェックボックスの値がチェックされているように見えても、常にチェックされていないものとして送信されることです。

    if (fakeCheck.hasClass('btn-palette-checkbox')) {
        fakeCheck.removeClass('btn-palette-checkbox');
        fakeCheck.addClass('btn-palette-checkbox-unchecked');
        $("#realCheck").attr("checked", false);
    }
    else {
        fakeCheck.addClass('btn-palette-checkbox');
        fakeCheck.removeClass('btn-palette-checkbox-unchecked');
        $("#realCheck").attr("checked", true);
    }

編集:参考までに、実際のチェックボックスは非表示になっています

4

3 に答える 3

3

jQuerydocspropから。これは、jQuery1.6以降を使用している場合です

.attr()メソッドの代わりに、.prop()メソッドを使用して無効に設定し、チェックする必要があります。値の取得と設定には、.val()メソッドを使用する必要があります。

$("#realCheck").prop("checked", true);
$("#realCheck").prop("checked", false);

.propの使用と.attrの使用について詳しくは、こちらをご覧ください 。.prop()と.attr()

于 2012-07-26T19:09:36.487 に答える
3

チェック済みとしてマークするには、次のように試してください。

$("#realCheck").attr("checked", "checked");

そして、このようにチェックを外します:

$("#realCheck").removeAttr("checked");
于 2012-07-26T18:53:28.507 に答える
1

Checkedのようdisabledに、はバイナリプロパティであり、属性ではありません。使用する必要があります:

$("#realCheck").attr("checked", "checked");
于 2012-07-26T18:54:07.333 に答える