0

我在这里阅读了许多问题,但对于在 jQuery 中处理复选框的最佳方式仍然有些困惑。

对于以下 HTML:

<div><input type="checkbox" id="checkBox"/>Checkbox</div>   

我想在用户单击复选框时运行 JavaScript 函数,而不是在用户取消选中复选框时运行。

我一直在尝试使用 jQuery 编写代码,.is(':checked')但似乎没有得到任何响应,当我尝试使用 if...else 语句$("#checkBox").change(function() {})来来回回时,发生了各种奇怪的事情。

关于如何开始的任何建议?非常早的初学者,所以感谢您的耐心等待。

4

3 回答 3

2
$("#checkBox").change(function() {
    if( this.checked ){
        // yesh here
    }
}) 

在评论后添加了本机 JS。扩展一点,如果可以的话,使用原生 JS。几乎在所有正常情况下,它都更快且资源消耗更少。出于同样的原因,您不使用$(this).attr('id')this.id

.on()如果您更喜欢以下方法,则必须将其放在准备好的文档中:

$("#checkBox").on('change', function() {
    if( this.checked ){
        // yesh here
    }
}) 
于 2013-07-15T19:42:31.173 回答
1

试试这个:

$('#checkbox-id').change(function() { // change #checkbox-id with our checkbox id
    var el = $(this);
    if (el.prop('checked')) {
       // add your code here
    }
});
于 2013-07-15T19:42:16.993 回答
0

你可以这样做:

$('#checkbox').on('change', function() {
    if (this.checked) {
        // Do your stuff
    }
});
于 2013-07-15T19:42:04.983 回答