2016-09-08 18 views
0

チェックボックスに「checked」の属性を設定しようとしています。属性設定が機能していない.on(クリック)

コード:

$(".ui.toggle").on("click", function() { 

    if ($('#ownplace').not(':checked')) { 
    $('#ownplace').attr('checked', true); 
    } 
    else { 
    $('#ownplace').prop('checked', false); 
    } 

}); 

それは大丈夫ボックスをcheckes、しかし、それはオフに文句を言いません。私はpropの代わりにattrを使用することを含む複数の解決策を試しました - そして、私は検索を行ったが、何もこの特定の問題を明確にするようではない。これはworkes

if($data['ownplace'] == checked) { 
     $user->ownplace = $data['ownplace']; 
} 

$('#ownplace').prop('checked', !$('#ownplace').is(':checked'));をしかし、それは、フィールド上のchecked属性を設定していない私は、チェックボックスがチェックされている場合はそうのように、キャプチャできるようにする必要があります

EDIT

、チェックされているかどうかチェックすることはできません。

入力フィールドにchecked="checked"が設定されているので、on clickと入力すると、になりません。

.propはそうではありません。私はそう思っています。代わりに

パトリック

+0

'VARボックス= $( "#のownplace")試してみてください。 box.prop( "checked"、!box.prop( "checked")); ' - これはそれをトグルする必要があります。しかしそれ以外には、あなたは '.attr'を1つではなく' .prop'をもう1つ使用するのは奇妙だと思いませんか? –

+0

'prop( 'checked'、true);'を使用してください。あなたが質問を投稿する前に検索してください、これは546543回尋ねられました。 – Tushar

+0

コードを正しくデバッグする:alert()メソッドまたはconsloe.log()メソッドを使用して、セレクタが正しいかどうかをチェックしてください。 – Cagy79

答えて

1

使用prop()機能:あり)(、小道具を

$('#ownplace').prop('checked', true); 

EXPLANATION

使用attrが()、あまりにも動作します(ただし、句が間違っている、あなたの場合)が、最も推奨されます。

あなたはcheckboxeの状態で使用するためにチェックしたい場合はis(:checked)

if (!$('#ownplace').is(':checked')) { 
    $('#ownplace').prop('checked', true); 
} 
+2

理由、OPコードが機能していない理由についても説明してください – Tushar

+0

クレジットが必要な場所にクレジットを与えてください。 – PeterKA

1

変更:

$('#ownplace').attr('checked', true); 

へ:

$('#ownplace').prop('checked', true); 
0

あなたはprop代わりのattr

を使用する必要があります

$('#ownplace').prop('checked', true);

attrのみ 1.6 jQueryのまたはかなりありそうな問題がif条件である

0

前に動作します。用途:次に

!$('#ownplace').is(':checked') //instead of $('#ownplace').not(':checked') 

チェックボックスをチェックするために、次を使用します。

$('#ownplace').prop('checked', true); 
0

それは.ui.toggleは、いくつかの問題を引き起こす可能性のためqueryselectorようです。ここではJSFiddleがありますが、.ui-toggleのコードはうまく動作しますが、.ui.toggleの場合は表示されません。

https://jsfiddle.net/krnitesh/uovoykya/

<button class="ui.toggle" >Click Me</button> 
<input type="checkbox" id="ownplace" checked="true" /> 

<button class="ui-toggle" >Click Me</button> 
<input type="checkbox" id="ownplace2" checked="true" /> 
$('.ui.toggle').on("click", function() { 
console.log(($('#ownplace').is(':checked'))); 

$('#ownplace').prop("checked", !($('#ownplace').is(':checked'))); 

}); 

$('.ui-toggle').on("click", function() { 
console.log(($('#ownplace2').is(':checked'))); 

$('#ownplace2').prop("checked", !($('#ownplace2').is(':checked'))); 

}); 
関連する問題