674

ページに入力テキスト フィールドがいくつかあり、JavaScript を使用して値を表示しています。

関数を使用.set("value","")して値を編集し、追加のチェックボックス フィールドを追加し、値を渡します。

ここで確認したいvalue == 1のは、このチェックボックスをオンにする必要がある場合です。それ以外の場合は、チェックを外したままにしてください。

2 つの div を使用してこれを行いましたが、これに満足していません。他に解決策はありますか?

if(value == 1) {
    $('#uncheck').hide();
    $('#check').show();
} else{
    $('#uncheck').show();
    $('#check').hide();
}
4

3 に答える 3

1406

jQuery 1.6+ の場合:

.attr()はプロパティでは非推奨です。代わりに新しい.prop()関数を次のように使用します。

$('#myCheckbox').prop('checked', true); // Checks it
$('#myCheckbox').prop('checked', false); // Unchecks it

jQuery < 1.6 の場合:

チェックボックスをオン/オフにするには、属性checkedを使用して変更します。jQuery を使用すると、次のことができます。

$('#myCheckbox').attr('checked', true); // Checks it
$('#myCheckbox').attr('checked', false); // Unchecks it

ご存じのとおり、HTML では次のようになります。

<input type="checkbox" id="myCheckbox" checked="checked" /> <!-- Checked -->
<input type="checkbox" id="myCheckbox" /> <!-- Unchecked -->

ただし、チェックボックスの値を取得するために .attr() メソッドを信頼することはできません (必要な場合)。.prop()メソッドに依存する必要があります。

于 2013-07-02T08:12:23.757 に答える
70

これにはprop()を使用できます。jQuery 1.6 より前では、一部の属性を取得するときに.attr()メソッドがプロパティ値を考慮に入れることがあり、一貫性のない動作を引き起こす可能性がありました。jQuery 1.6 の時点で.prop()メソッドはプロパティ値を明示的に取得する方法を提供し、.attr()属性を取得します。

var prop=false;
if(value == 1) {
   prop=true; 
}
$('#checkbox').prop('checked',prop);

または単に、

$('#checkbox').prop('checked',(value == 1));

スニペット

$(document).ready(function() {
  var chkbox = $('.customcheckbox');
  $(".customvalue").keyup(function() {
    chkbox.prop('checked', this.value==1);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<h4>This is a domo to show check box is checked
if you enter value 1 else check box will be unchecked </h4>
Enter a value:
<input type="text" value="" class="customvalue">
<br>checkbox output :
<input type="checkbox" class="customcheckbox">

于 2013-07-02T08:13:59.927 に答える
27

値に基づいてチェックボックスの状態を設定できます。

$('#your-checkbox').prop('checked', value == 1);
于 2013-07-02T08:13:46.523 に答える