试着检查是否选中了复选框,请问我做错了什么?

时间:2010-08-24 17:08:51

标签: javascript jquery jquery-selectors

$(document).ready(
function()
{   
    $('input[id^="btnRemoveCategory"]').bind(
        'click',
        function(){
            if($('input[id^="chkIsBottom_":checked]'))
                alert('YES YES YES!!!!');
            else
                alert('No NO no!!!!!');

我尝试过:

if($('input[id^="chkIsBottom_"]').attr(checked))

...也

我的错误在哪里???

10倍

2 个答案:

答案 0 :(得分:3)

$('input[id^="chkIsBottom_":checked]')

...总是会返回一个真正的价值。如果没有选中,那么它将是一个jQuery对象,里面没有元素。你想要:

$('input[id^="chkIsBottom_":checked]').length

(如果长度为0则为false,如果不为则为true)

同时

if($('input[id^="chkIsBottom_"]').attr(checked))

...将获取第一个输入元素的X属性的值,其id以chkIsBottom_开头,其中X是 checked 包含的变量(这是可能是未定义的,因为你可能打算传递一个字符串)。

答案 1 :(得分:2)

您与第一次实施非常接近。

尝试此调整:

$(document).ready(
function()
{   
    $('input[id^="btnRemoveCategory"]').bind(
        'click',
        function(){
            if($('input[id^="chkIsBottom_"]:checked').length > 0)
                alert('YES YES YES!!!!');
            else
                alert('No NO no!!!!!');

另一种选择:

if($('input[id^="chkIsBottom_"]').is(':checked'))