jQuery を使用してcheckbox
をチェックするには、次のようにします。
$(".myCheckBox").checked(true);
または
$(".myCheckBox").selected(true);
そんなことはありますか?
新しい .prop()
メソッドを使います。
$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);
.prop()
メソッドは利用できないので、あなたは .attr()
を使う必要があります。
$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);
これは バージョン1.6より前のjQueryの単体テストで使用されていたアプローチ であり、使用することをお勧めします。
$('.myCheckbox').removeAttr('checked');
ボックスが最初にチェックされていた場合、後者はそれを含む任意の形式で .reset()
への呼び出しの振る舞いを変更するでしょう - 微妙だがおそらく望ましくない振る舞いの変更。
より詳しい文脈のために、1.5.xから1.6への移行におけるchecked
属性/プロパティの取り扱いへの変更の不完全な議論は バージョン1.6リリースノート と 属性vsで見つけることができます。プロパティ .prop()
ドキュメント のセクション。
1つの要素だけで作業している場合は、いつでも HTMLInputElement
の.checked
プロパティを変更するだけで済みます。
$('.myCheckbox')[0].checked = true;
$('.myCheckbox')[0].checked = false;
これの代わりに.prop()
と.attr()
メソッドを使うことの利点はそれらがマッチしたすべての要素で動作することです。
つかいます:
$(".myCheckbox").attr('checked', true); // Deprecated
$(".myCheckbox").prop('checked', true);
また、チェックボックスがチェックされているかどうかを確認したい場合は、
$('.myCheckbox').is(':checked');
これはクロスプラットフォーム標準であり、willはフォームの再投稿を許可するため、jQueryでチェックボックスをオンまたはオフにする正しい方法です。
$('.myCheckBox').each(function(){ this.checked = true; });
$('.myCheckBox').each(function(){ this.checked = false; });
これにより、チェックボックスのチェックとチェック解除にJavaScript標準を使用しているため、チェックボックス要素の「checked」プロパティを適切に実装するブラウザは、このコードを問題なく実行します。これはすべての主要なブラウザである必要がありますが、Internet Explorer 9より前のバージョンではテストできません。
問題(jQuery 1.6):
ユーザーがチェックボックスをクリックすると、そのチェックボックスは「チェック済み」属性の変更への応答を停止します。
以下は、誰かがチェックボックスをクリックした後にジョブを実行できないチェックボックス属性の例です(これはChromeで発生します)。
解決策:
DOM 要素でJavaScriptの「checked」プロパティを使用することで、DOMを操作してwantやること。
このプラグインは、jQueryによって選択された要素のチェック済みプロパティを変更し、すべての状況下でチェックボックスを正常にオンまたはオフにします。したがって、これは非常に重要なソリューションのように見えますが、サイトのユーザーエクスペリエンスが向上し、ユーザーのフラストレーションを防ぐのに役立ちます。
(function( $ ) {
$.fn.checked = function(value) {
if(value === true || value === false) {
// Set the value of the checkbox
$(this).each(function(){ this.checked = value; });
}
else if(value === undefined || value === 'toggle') {
// Toggle the checkbox
$(this).each(function(){ this.checked = !this.checked; });
}
return this;
};
})( jQuery );
または、プラグインを使用しない場合は、次のコードスニペットを使用できます。
// Check
$(':checkbox').prop('checked', true);
// Un-check
$(':checkbox').prop('checked', false);
// Toggle
$(':checkbox').prop('checked', function (i, value) {
return !value;
});
できるよ
$('.myCheckbox').attr('checked',true) //Standards compliant
または
$("form #mycheckbox").attr('checked', true)
起動したいチェックボックスのonclickイベントにカスタムコードがある場合は、代わりにこれを使用します。
$("#mycheckbox").click();
属性を完全に削除してチェックを外すことができます。
$('.myCheckbox').removeAttr('checked')
あなたはこのようなすべてのチェックボックスをチェックすることができます:
$(".myCheckbox").each(function(){
$("#mycheckbox").click()
});
新しいメソッドで$ .fnオブジェクトを拡張することもできます。
(function($) {
$.fn.extend({
check : function() {
return this.filter(":radio, :checkbox").attr("checked", true);
},
uncheck : function() {
return this.filter(":radio, :checkbox").removeAttr("checked");
}
});
}(jQuery));
それからあなたはただすることができます:
$(":checkbox").check();
$(":checkbox").uncheck();
あるいは、それらの名前を使用する他のライブラリを使用する場合は、mycheck()やmyuncheck()のようにもっとユニークな名前を付けることができます。
$("#mycheckbox")[0].checked = true;
$("#mycheckbox").attr('checked', true);
$("#mycheckbox").click();
最後のものはチェックボックスのクリックイベントを発生させ、他は発生させません。
チェックボックスをチェックするためにあなたは使うべきです
$('.myCheckbox').attr('checked',true);
または
$('.myCheckbox').attr('checked','checked');
チェックボックスをオフにするには、常にfalseに設定する必要があります。
$('.myCheckbox').attr('checked',false);
もしあなたがそうするなら
$('.myCheckbox').removeAttr('checked')
属性をまとめて削除するため、フォームをリセットすることはできません。
悪いデモjQuery 1.6 。これは壊れていると思います。 1.6のために私はそれについての新しいポストを作るつもりです。
新しいワーキングデモjQuery 1.5.2 はChromeで動作します。
両方のデモで使用
$('#tc').click(function() {
if ( $('#myCheckbox').attr('checked')) {
$('#myCheckbox').attr('checked', false);
} else {
$('#myCheckbox').attr('checked', 'checked');
}
});
質問がであると仮定して...
一般的なチェックボックスセットでは、すべての入力タグが同じ名前属性value
によって異なるを持ちます。セットの各入力にIDはありません。
Xianの答えは、 より具体的なセレクター を使って、次のコード行を使って拡張できます。
$("input.myclass[name='myname'][value='the_value']").prop("checked", true);
解決策がありません。私はいつも使うよ:
if ($('#myCheckBox:checked').val() !== undefined)
{
//Checked
}
else
{
//Not checked
}
与えられた部分文字列 "ckbItem"を含む値を持つ指定された属性を持つ要素を選択する:
$('input[name *= ckbItem]').prop('checked', true);
Name属性にckbItemを含むすべての要素を選択します。
jQuery 1.6 以上を使用してチェックボックスをチェックするには、次のようにします。
checkbox.prop('checked', true);
チェックを外すには、次のようにします。
checkbox.prop('checked', false);
これが、jQueryを使ってチェックボックスを切り替えるために使うものです。
checkbox.prop('checked', !checkbox.prop('checked'));
jQuery 1.5 またはそれ以下を使用している場合:
checkbox.attr('checked', true);
チェックを外すには、次のようにします。
checkbox.attr('checked', false);
これはjQueryなしでそれをする方法です
function addOrAttachListener(el, type, listener, useCapture) {
if (el.addEventListener) {
el.addEventListener(type, listener, useCapture);
} else if (el.attachEvent) {
el.attachEvent("on" + type, listener);
}
};
addOrAttachListener(window, "load", function() {
var cbElem = document.getElementById("cb");
var rcbElem = document.getElementById("rcb");
addOrAttachListener(cbElem, "click", function() {
rcbElem.checked = cbElem.checked;
}, false);
}, false);
<label>Click Me!
<input id="cb" type="checkbox" />
</label>
<label>Reflection:
<input id="rcb" type="checkbox" />
</label>
これを試して:
$('#checkboxid').get(0).checked = true; //For checking
$('#checkboxid').get(0).checked = false; //For unchecking
これは、チェックされたボタンとチェックされていないボタンのコードです。
var set=1;
var unset=0;
jQuery( function() {
$( '.checkAll' ).live('click', function() {
$( '.cb-element' ).each(function () {
if(set==1){ $( '.cb-element' ).attr('checked', true) unset=0; }
if(set==0){ $( '.cb-element' ).attr('checked', false); unset=1; }
});
set=unset;
});
});
更新:これはattrを置き換える新しいJquery 1.6+ propメソッドを使った同じコードブロックです:
var set=1;
var unset=0;
jQuery( function() {
$( '.checkAll' ).live('click', function() {
$( '.cb-element' ).each(function () {
if(set==1){ $( '.cb-element' ).prop('checked', true) unset=0; }
if(set==0){ $( '.cb-element' ).prop('checked', false); unset=1; }
});
set=unset;
});
});
属性をチェックするためにjQueryでelementObject
を使用できます。
$(objectElement).attr('checked');
これをすべてのjQueryバージョンにエラーなく使用できます。
更新:Jquery 1.6以降にはattrを置き換える新しいpropメソッドがあります。例えば:
$(objectElement).prop('checked');
PhoneGap を使用してアプリケーションを開発していて、すぐに表示したいボタンの値がある場合は、これを忘れないでください。
$('span.ui-[controlname]',$('[id]')).text("the value");
私はスパンなしで、インターフェースはあなたが何をしても更新しないことを発見しました。
これは、複数のチェックボックスをチェックする方法のコードとデモです。
http://jsfiddle.net/tamilmani/z8TTt/
$("#check").on("click", function () {
var chk = document.getElementById('check').checked;
var arr = document.getElementsByTagName("input");
if (chk) {
for (var i in arr) {
if (arr[i].name == 'check') arr[i].checked = true;
}
} else {
for (var i in arr) {
if (arr[i].name == 'check') arr[i].checked = false;
}
}
});
別の可能な解決策:
var c = $("#checkboxid");
if (c.is(":checked")) {
$('#checkboxid').prop('checked', false);
} else {
$('#checkboxid').prop('checked', true);
}
Internet Explorer 9 よりも前のInternet Explorerでのメモリリークに注意してください jQueryのドキュメントに記載されています
バージョン9より前のInternet Explorerでは、.prop()を使用してDOM 要素プロパティを単純なプリミティブ値(数値、文字列、またはブール値)以外に設定すると、メモリリークが発生する可能性があります。 DOM要素がドキュメントから削除されるまでプロパティは削除されません(.removeProp()を使用)。メモリリークのないDOMオブジェクトに安全に値を設定するには、.data()を使用してください。
JQuery 1.6以降の場合
$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);
JQuery 1.5.x以下の場合
$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);
チェックする、
$('.myCheckbox').removeAttr('checked');
モバイルを使用していて、インターフェイスでチェックボックスを更新してチェックマークを外して表示する場合は、次のようにします。
$("#checkbox1").prop('checked', false).checkboxradio("refresh");
チェックしてチェックを外す
$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);
$('controlCheckBox').click(function(){
var temp = $(this).prop('checked');
$('controlledCheckBoxes').prop('checked', temp);
});
@ livefree75が言ったように:
jQuery 1.5.x以下
新しいメソッドで$ .fnオブジェクトを拡張することもできます。
(function($) {
$.fn.extend({
check : function() {
return this.filter(":radio, :checkbox").attr("checked", true);
},
uncheck : function() {
return this.filter(":radio, :checkbox").removeAttr("checked");
}
});
}(jQuery));
しかし、新しいバージョンのjQueryでは、次のようなものを使用する必要があります。
jQuery 1.6以降
(function($) {
$.fn.extend({
check : function() {
return this.filter(":radio, :checkbox").prop("checked", true);
},
uncheck : function() {
return this.filter(":radio, :checkbox").prop("checked",false);
}
});
}(jQuery));
それからあなたはただすることができます:
$(":checkbox").check();
$(":checkbox").uncheck();
これはおそらく最短かつ最も簡単な解決策です。
$(".myCheckBox")[0].checked = true;
または
$(".myCheckBox")[0].checked = false;
さらに短くなります。
$(".myCheckBox")[0].checked = !0;
$(".myCheckBox")[0].checked = !1;
これは a jsFiddle でもあります。
単純なJavaScriptは非常に単純で、オーバーヘッドがずっと少ないです。
var elements = document.getElementsByClassName('myCheckBox');
for(var i = 0; i < elements.length; i++)
{
elements[i].checked = true;
}
あなたがチェックボックスをチェックしたとき。
$('.className').attr('checked', 'checked')
それは十分ではないかもしれません。以下の関数も呼び出すべきです。
$('.className').prop('checked', 'true')
特にチェックボックスchecked属性を削除したとき。
私はそれを使用して動作させることができませんでした:
$("#cb").prop('checked', 'true');
$("#cb").prop('checked', 'false');
Trueとfalseの両方がチェックボックスをチェックします。私にとってうまくいったのは、
$("#cb").prop('checked', 'true'); // For checking
$("#cb").prop('checked', ''); // For unchecking
これが完全な答えです jQueryを使う
私はそれをテストし、それは100%動作します:D
// when the button (select_unit_button) is clicked it returns all the checed checkboxes values
$("#select_unit_button").on("click", function(e){
var arr = [];
$(':checkbox:checked').each(function(i){
arr[i] = $(this).val(); // u can get id or anything else
});
//console.log(arr); // u can test it using this in google chrome
});
ASP.NET MVC を使用する場合、多くのチェックボックスを生成し、後でJavaScriptを使用してすべて選択/選択解除を持つことができます。
_ html _
@foreach (var item in Model)
{
@Html.CheckBox(string.Format("ProductId_{0}", @item.Id), @item.IsSelected)
}
JavaScript
function SelectAll() {
$('input[id^="ProductId_"]').each(function () {
$(this).prop('checked', true);
});
}
function UnselectAll() {
$('input[id^="ProductId_"]').each(function () {
$(this).prop('checked', false);
});
}
JQueryでは、
if($("#checkboxId").is(':checked')){
alert("Checked");
}
または
if($("#checkboxId").attr('checked')==true){
alert("Checked");
}
JavaScriptでは、
if (document.getElementById("checkboxID").checked){
alert("Checked");
}
これは誰かに役立つかもしれません。
HTML5
<input id="check_box" type="checkbox" onclick="handleOnClick()">
JavaScriptです。
function handleOnClick(){
if($("#check_box").prop('checked'))
{
console.log("current state: checked");
}
else
{
console.log("current state: unchecked");
}
}
これを試すことができます:
$('input[name="activity[task_state]"]').val("specify the value you want to check ")
$(".myCheckBox").prop("checked","checked");
if($('jquery_selector').is(":checked")){
//somecode
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
あなたがたまたまブートストラップを使っているなら(おそらく気付かないうちに)...
$('#myCheckbox').bootstrapToggle('on')
$('#myCheckbox').bootstrapToggle('off')
.prop('checked', true|false)
を使用していて、 チェックボックス を変更していない場合は、このようにtrigger('click')
を追加する必要があります。
//check
$('#checkboxF1').prop( "checked", true).trigger('click');
//un-Check
$('#checkboxF1').prop( "checked", true).trigger('click');
あなたはさまざまな方法でJSを使用してチェックボックスのチェック状態を確認することができます。あなたは以下を見ることができます。
最初の方法 - $('.myCheckbox').prop('checked', true);
2番目の方法 - $('.myCheckbox').attr('checked', true);
3番目の方法(チェックボックスがチェックされているかどうかのチェック条件用) - $('.myCheckbox').is(':checked')
.prop(propertyName) - 追加されたバージョン:1.6
p {margin: 20px 0 0;}
b {color: red;}
label {color: red;}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<input id="check1" type="checkbox" checked="checked">
<label for="check1">Check here</label>
<p></p>
<script>
$( "input" ).change(function() {
var $input = $( this );
$( "p" ).html(
"The .attr( \"checked\" ): <b>" + $input.attr( "checked" ) + "</b><br>" +
"The .prop( \"checked\" ): <b>" + $input.prop( "checked" ) + "</b><br>" +
"The .is( \":checked\" ): <b>" + $input.is( ":checked" ) + "</b>" );
}).change();
</script>
</body>
</html>
あなたの.htmlファイル内
<input type="checkbox" (change)="toggleEditable($event)">
あなたの.tsファイル内
toggleEditable(event) {
if ( event.target.checked ) {
this.contentEditable = true;
}
}
あなたの.htmlファイル内
<input type="checkbox" [(ngModel)]="isChecked" (change)="checkAction(isChecked ? 'Action1':'Action2')" />