jquery复选框?

时间:2012-03-04 13:43:57

标签: jquery html

我有以下Jquery函数,它只在刷新页面时才有效,而不是单击特定的复选框。目前,当我单击一个复选框时,它不会执行任何操作。如何使复选框执行某些操作?

(function($) {
    $(document).ready(function() {
        alert("nyah nyah! I’m able to use '$'!!!!");
        var $b = $('input[type=checkbox]');
        alert($b.find(':checked').length); 
        alert($b.filter(':not(:checked)').length);

        function checkPrice() {
            alert($b.filter(':checked').length);
        }

        $("#keywordForm").submit(function(e) {
            e.preventDefault();
            var option_form = jQuery(e.target);
            <!--alert("sometext");-->
            updateKeywords(e);
        })

        $("#updateKeyword").submit(function(e) {
            e.preventDefault();
            var keyword_form = jQuery(e.target);
            refreshKeywords(e);
        })

        function refreshKeywords(e) {
            e.preventDefault();

复选框HTML:

可供订阅的关键字列表
                        <table id="checkKeywords">
                            <tbody>
                                {% for keyword in keyword_list %}
                                    {% if forloop.counter|divisibleby:"3" %}
                                            <tr>
                                    {% endif %}
                            <td>
                                <input type="checkbox" id="validate" name="cb" onclick = checkPrice(this) value="{{keyword.keyword_name}}" />  {{keyword.keyword_name}}
                            </td>
                                    {% if forloop.counter|add:"1"|divisibleby:"3" %}
                                            </tr>
                                    {% endif %}
                                {% endfor %}
                            </tbody>
                        </table>                

1 个答案:

答案 0 :(得分:3)

如果要在单击复选框时执行某些操作,则需要使用.change()函数将回调函数绑定到change事件,如下所示:

$('selector for checkbox(es)').change(function(e) {
    // do your stuff here
});

您也可以使用click事件,但在所有浏览器中都无法识别使用键盘更改的值,因此最好不要这样做。