HTML Checkbox表示已选中/未选中,但事实并非如此

时间:2013-05-29 18:52:08

标签: jquery

if($(this).prop('checked', true)){
    $(this).prop('checked',false);
        console.log('its checked yo');
    } else if(!$(this).is(':checked')){
        $('[type=checkbox]').prop("checked", false);
        $(this).prop('checked', true);
        console.log("Well this certainly isn't checked");
    }
}

http://jsfiddle.net/bkj8n/2/#run 所以我的设置是为一个表格添加你选择的不同选项的价格与复选框。对于这组项目,一次只能选择一个选项。因此,当另一个项目被选中时,我取消选中所有框,然后检查他们选择的那个。我已经尝试使用.prop()。attr()等等,但它没有用。每次都会发生三件事之一。

  1. 它有效,我只能选择一个而其他人被取消选择。但是:我无法取消选中该项目,并添加其他复选框的价格(值),这意味着它认为它们仍然被检查。

  2. 它表示无论如何都会检查它们,即使它们不是。所以没有任何作用。

  3. 正确添加值。我一次只能获得一个选项,我可以再次单击该选项将其设置为零。但是:复选标记未显示在框中。

  4. 这令我感到沮丧。谢谢!

1 个答案:

答案 0 :(得分:4)

你需要这个 -

if($(this).prop('checked')){

您使用的是setter 而不是getter