0

これは私のHTMLです:

...
<input type="checkbox" id="lm27" value="27" checked="checked" 
       class="charr">ismea</input>
...

チェックボックスが切り替えられると、イベントが呼び出されます。要素はクラスによって選択されます。しかし、イベントは呼び出されません。

$(function(){
$('.charr').change(function() {
alert('Handler for .change() called.');
});

refresh_langlist();
});

試してみたい場合は、完全な HTML:

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js">
</script>
<script>

$('.charr').change(function() {
alert('Handler for .change() called.');
});

</script>
<input type="checkbox" id="lm27" value="27" checked="checked" 
       class="charr">ismea
</body>
</html>
4

2 に答える 2

1

今、私は問題に気づきました:

新しい動的に生成された入力の後に常にセレクター + イベントを呼び出します。古いイベントは、一致しても新しい要素には適用されません。

于 2013-06-17T21:18:22.810 に答える
-1

チェックボックスがチェックされているかどうかを確認するために使用している方法を変更してみてください。チェックボックスがチェックされているかどうかを確認するコードの(実際の)例を次に示します。

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />

        <script type="text/javascript">
            $(document).ready(function() {

                var checked = 0;

                $('input[type="checkbox"]').click(function() {
                    var $b = $('input[type=checkbox]');
                    checked = $b.filter(':checked').length;
                    //alert('There are [' + checked + '] checked checkboxes');

                    if (checked > 2) {
                        $("input:checkbox:not(:checked)").attr('disabled','disabled');
                    }else{
                        $('input[type=checkbox]').removeAttr('disabled');
                    }
                });

            }); //END $(document).ready()

        </script>
    </head>
<body>

    <h2>Allow up to three checkboxes to be checked, then disable all checkboxes on page</h2>
    <form action="">
        <input type="checkbox" name="vehicle" value="bike">I have a bike<br>
        <input type="checkbox" name="vehicle" value="car">I have a car<br>
        <input type="checkbox" name="vehicle" value="spoon">I have a spoon<br>
        <input type="checkbox" name="vehicle" value="guitar">I have a guitar<br>
        <input type="checkbox" name="vehicle" value="boat">I have a boat<br>
        <input type="checkbox" name="vehicle" value="house">I have a house<br>

    </form>


</body>
</html>
于 2013-06-17T20:52:10.597 に答える