590

考えられるすべての方法をすでに試しましたが、それでもうまくいきませんでした。checkboxモーダルウィンドウが開いたときcheckboxに、データベースの値に基づいてチェックまたはチェックを外す必要があるモーダルウィンドウがあります。(すでに他のフォームフィールドで作業しています。) チェックしようとしましたが、うまくいきませんでした。

私のHTML div:

<div id="fModal" class="modal" >
    ...
    <div class="row-form">
        <div class="span12">
            <span class="top title">Estado</span>

          <input type="checkbox"  id="estado_cat" class="ibtn">
       </div>
    </div>             
</div>

そしてjQuery:

$("#estado_cat").prop( "checked", true );

attr、およびフォーラムでここに見られる他のものも試しましたが、どれも機能していないようです。
誰かが私を正しい方向に向けることができますか?


編集

OK、私は本当にここに何かが欠けています。チェックボックスがページにある場合はコードを使用してチェック/チェック解除できますが、モーダルウィンドウにある場合はできません。私は何十もの異なる方法を試しました。

モーダルを開くはずのリンクがあります:

<a href='#' data-id='".$row['id_cat']."' class='editButton icon-pencil'></a>

jQueryはクリックを「リッスン」し、いくつかのテキストボックスにデータベースからのデータを入力するなどの操作を実行します。すべてが思い通りに機能しますが、コードを使用してチェックボックスをオン/オフに設定できないという問題があります。助けてください!

$(function () {
    $(".editButton").click(function () {
        var id = $(this).data('id');
        $.ajax({
            type: "POST",
            url: "process.php",
            dataType: "json",
            data: {
                id: id,
                op: "edit"
            },
        }).done(function (data) {
            // The next two lines work fine,
            // i.e. it grabs the value from database and fills the textboxes
            $("#nome_categoria").val(data['nome_categoria']);
            $("#descricao_categoria").val(data['descricao_categoria']);

            // Then I tried to set the checkbox checked (because it's unchecked by default)
            // and it does not work
            $("#estado_cat").prop("checked", true);
            $('#fModal').modal('show');
        });

        evt.preventDefault();
        return false;
    });
});
4

19 に答える 19

968

「prop」関数を使用する必要があります:

.prop('checked', true);

jQuery 1.6 より前( user2063626 の回答を参照):

.attr('checked','checked')
于 2013-10-28T09:18:28.197 に答える
74

以下のコードを試してください:

$("div.row-form input[type='checkbox']").attr('checked','checked')

また

$("div.row-form #estado_cat").attr("checked","checked");

また

$("div.row-form #estado_cat").attr("checked",true);
于 2013-02-23T19:11:38.590 に答える
31

「checked」属性は、チェックボックスが存在するとすぐに「チェック」します。したがって、チェックボックスをオン/オフにするには、属性を設定/設定解除する必要があります。

チェックボックスをオンにする場合:

$('#myCheckbox').attr('checked', 'checked');

ボックスのチェックを外す場合:

$('#myCheckbox').removeAttr('checked');

チェック済みステータスをテストするには:

if ($('#myCheckbox').is(':checked'))

それが役に立てば幸い...

于 2016-02-11T13:31:48.357 に答える
21

モーダル ウィンドウ (動的またはページ内) にいるため、次のコードを使用して目標を達成できます。

HTML:

<div class="content-container" style="text-align: right;">
    <input type="checkbox" id="QueryGroupCopyQueries">
    <label for="QueryGroupCopyQueries">Create Copies</label>                                                   
</div>

コード:

$.each(queriesToAddToGroup, function (index, query) {
    if (query.groupAddType === queriesGroupAddType.COPY) {

        // USE FIND against your dynamic window and PROP to set the value
        // if you are using JQUERY 1.6 or higher.
        $(kendoWindow).find("input#QueryGroupCopyQueries").prop("checked", true);

        return;
    }

上記の「kendoWindow」は私のウィンドウです(私のものは動的ですが、ページ内の要素に直接追加するときにもこれを行います)。COPY の属性を持つ行があるかどうかを確認するために、データの配列 ("queriesToAddToGroup") をループしています。もしそうなら、ユーザーがこのウィンドウから保存するときにその属性を設定するウィンドウ内のチェックボックスをオンにしたいと思います。

于 2013-05-31T12:27:37.200 に答える
5

以下のコードのように書くことができます。

HTML

<input type="checkbox"  id="estado_cat" class="ibtn">

jQuery

$(document).ready(function(){
    $(".ibtn").click(function(){
        $(".ibtn").attr("checked", "checked");
    });
});

それがあなたのために働くことを願っています。

于 2013-08-31T07:07:43.010 に答える
3
$("#divParentClip").find("#subclip_checkbox")[0].checked=true;

Find は array を返すので、アイテムが 1 つしかない場合でも [0] を使用して取得します

find を使用しない場合

$("#subclip_checkbox").checked=true;

これは私にとってMozilla Firefoxでうまくいきました

于 2013-10-03T10:55:54.963 に答える
2

おそらくjQuery UIを使用しているので、これを試してください(そうでない場合はコメントしてください)

 $("#fModal" ).dialog({
     open: function( event, ui ) {

     if(//some hidden value check which stores the DB value==expected value for
      checking the Checkbox)

         $("div.row-form input[type='checkbox']").attr('checked','checked');

    }
   });
于 2013-02-23T19:13:56.280 に答える
2

私もこの問題に遭遇しました。

ここに私の古い動作しないコードがあります

if(data.access == 'private'){
     Jbookaccess.removeProp("checked") ; 
    //I also have tried : Jbookaccess.removeAttr("checked") ;
 }else{
    Jbookaccess.prop("checked", true)
}

これが現在動作している私の新しいコードです:

if(data.access == 'private'){
     Jbookaccess.prop("checked",false) ;
 }else{
    Jbookaccess.prop("checked", true)
}

そのため、キーポイントは機能する前です。チェックされたプロパティが存在し、削除されていないことを確認してください。

于 2014-03-10T14:29:48.707 に答える
1

モーダル ウィンドウを読み込んだ後、チェック ボックスを設定します。ページをロードする前にチェックボックスを設定していると思います。

$('#fModal').modal('show');
$("#estado_cat").attr("checked","checked");
于 2014-03-10T17:46:35.733 に答える