0

私は動作している次のコードを持っています。これがもっと単純化できるかどうか疑問に思っていました。

デモ: http://jsfiddle.net/TnpNV/8/

<form name="cbform">
<input type="checkbox" value="1" name="one" id="one" /> one<br />
<input type="checkbox" value="1" name="two" id="two" /> two
</form>​

<script>
$('#one, #two').click(function(event) {
    var checked = $(this).is(':checked');
    if (checked) {
        $('#one').attr('checked', true);
        $('#two').attr('checked', true);
    }
    else {
        $('#one').attr('checked', false);
        $('#two').attr('checked', false);
    }
});
</script>

基本的に、相互に依存する 2 つのチェックボックスです。Jquery を使用して、それらのチェックとチェック解除を行いました。

よろしく

4

3 に答える 3

4

コンパクトで最も機能する DEMO http://jsfiddle.net/U5GfF/ または http://jsfiddle.net/U5GfF/3/

これは、コードで取得できる最小行バージョンです。つまり

this.checkedが返され、クリック イベントで停止するtrueと、それに応じてプロパティが設定されます。falsepropchecked:)

お役に立てれば、

コード

$("#one, #two").click(function() {
    $("input").prop('checked', this.checked);
});

また

$("#one, #two").click(function() {
    $("#one, #two").prop('checked', this.checked);
});

また

$("#one, #two").on('click', function() {
    $("#one, #two").prop('checked', this.checked);
});
于 2012-07-04T03:28:53.820 に答える
2

メソッドを使用できますprop()

$('#one, #two').click(function(event) { // or $("input:checkbox")
    if ($(this).is(':checked')) {
        $('#one, #two').prop('checked', true); // or $("input:checkbox")
    } else {
        $('#one, #two').prop('checked', false);
    }
});

デモ

于 2012-07-04T03:07:57.743 に答える
1

これを試してください、たった2行:-)

ライブデモ:

http://jsfiddle.net/TnpNV/15/

jQueryの最新バージョンの場合:

$('#one, #two').on('click', function(e) {
  var prop = ($(this).is(':checked')) ? true : false;
  $('#one, #two').prop('checked', prop);
});​

jQueryの古いバージョンの場合 (jsFiddleでjQuery 1.4.4バージョンを使用していることがわかりました)また、このコードはすべてのバージョンで機能します。

$('#one, #two').click(function(e) {
  var prop = ($(this).is(':checked')) ? true : false;
  $('#one, #two').attr('checked', prop);
});

</ p>

于 2012-07-04T03:15:03.833 に答える