のチェックを外すことに問題がありますcheckbox
。私が試みている私のjsFiddleを見てください:
$("#check2").attr("checked", true);
私が使用して均一にスタイリングするためにcheckbox
、それは単純にするために動作しません/チェックを外して確認してくださいcheckbox
。
何か案は?
のチェックを外すことに問題がありますcheckbox
。私が試みている私のjsFiddleを見てください:
$("#check2").attr("checked", true);
私が使用して均一にスタイリングするためにcheckbox
、それは単純にするために動作しません/チェックを外して確認してくださいcheckbox
。
何か案は?
回答:
ドキュメントを見ると$.uniform.update
、「ユニフォーム」要素をリフレッシュする機能があります。
例: http : //jsfiddle.net/r87NH/4/
$("input:checkbox").uniform();
$("body").on("click", "#check1", function () {
var two = $("#check2").attr("checked", this.checked);
$.uniform.update(two);
});
1.4.4
では問題なく動作しますが、jsおよびcssファイルへのリンクが壊れていました。これが更新されたフィドルです。特にで問題が発生する場合は1.6
、jQueryが変更されての動作が元に戻されたため、おそらくそれが当てはまります.attr()
。1.6
以上を使用する場合、実際にはを使用する必要があります.prop()
。
より簡単な解決策は、ユニフォームを使用するのではなく、これを行うことです。
$('#check1').prop('checked', true); // will check the checkbox with id check1
$('#check1').prop('checked', false); // will uncheck the checkbox with id check1
これにより、定義されているクリックアクションはトリガーされません。
次のものも使用できます。
$('#check1').click(); //
これにより、チェックボックスのオン/オフが切り替わりますが、定義したクリックアクションもトリガーされます。ので注意してください。
編集:jQuery 1.6+はチェックボックスのチェックされてprop()
いないattr()
値を使用します
$("#chkBox").attr('checked', false);
これは私にとってはうまくいきました、これはチェックボックスのチェックを外します。使用できるのと同じ方法で
$("#chkBox").attr('checked', true);
チェックボックスをオンにします。
あなたが使用している場合は均一な1.5を、その後追加するには、この簡単なトリックを使用するか、チェックの削除属性
ちょうどあなたのチェックボックスの入力フィールドの値=「チェック」を追加します。
このコードを追加します。uniform.js
> function doCheckbox(elem){
>.click(function(){
if ( $(elem+':checked').val() == 'check' ) {
$(elem).attr('checked','checked');
}
else {
$(elem).removeAttr('checked');
}
入力ボックスにvalue = "check"を追加したくない場合は、2つのチェックボックスを追加する場合があるため、これを使用します。
if ($(elem).is(':checked')) {
$(elem).attr('checked','checked');
}
else
{
$(elem).removeAttr('checked');
}
あなたが使用している場合は均一な2.0を、チェックの属性を追加または削除するには、この簡単なトリックを使用し
、この中でclassUpdateChecked($tag, $el, options) {
機能変更
if ($el.prop) {
// jQuery 1.6+
$el.prop(c, isChecked);
}
に
if ($el.prop) {
// jQuery 1.6+
$el.prop(c, isChecked);
if (isChecked) {
$el.attr(c, c);
} else {
$el.removeAttr(c);
}
}
$('#check1').prop('checked', true).uniform();
$('#check1').prop('checked', false).uniform();
これでうまくいきました。
まずchecked
、の値checked
または空の文字列を使用できます。
$("input:checkbox").uniform();
$('#check1').live('click', function() {
$('#check2').attr('checked', 'checked').uniform();
});
checked
。
HTMLInputElement
。checked
プロパティを見てください。
場合によってはこれを使用できます:
$('.myInput').get(0).checked = true
トグルの場合は、関数と一緒に使用できます
$("#checkall").change(function () {
var checked = $(this).is(':checked');
if (checked) {
$(".custom-checkbox").each(function () {
$(this).prop("checked", true).uniform();
});
} else {
$(".custom-checkbox").each(function () {
$(this).prop("checked", false).uniform();
});
}
});
// Changing state of CheckAll custom-checkbox
$(".custom-checkbox").click(function () {
if ($(".custom-checkbox").length == $(".custom-checkbox:checked").length) {
$("#chk-all").prop("checked", true).uniform();
} else {
$("#chk-all").removeAttr("checked").uniform();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id='checkall' /> Select All<br/>
<input type="checkbox" class='custom-checkbox' name="languages" value="PHP"> PHP<br/>
<input type="checkbox" class='custom-checkbox' name="languages" value="AngularJS"> AngularJS<br/>
<input type="checkbox" class='custom-checkbox' name="languages" value="Python"> Python<br/>
<input type="checkbox" class='custom-checkbox' name="languages" value="Java"> Java<br/>