jquery:checkbox和unchecking只工作一次

zz2j4svz  于 2023-04-20  发布在  jQuery
关注(0)|答案(1)|浏览(128)

在我的asp.net应用程序(razor)中,呈现了一个复选框,在检查器中看起来像这样:

<input class="langCheck rowCounter0 evenRow" id="MainNodes_0__children_0__IsChecked" name="MainNodes[0].children[0].IsChecked" type="checkbox" value="true" checked="checked">

现在我写了一个按钮,应该检查类“rowCounter 0”附加到它们的所有复选框。

<button onclick="selectAll(@i)" class="buttonselectall" type="button">alle an/abwählen</button> 

function selectAll(idOfButton) {
    //todo BUG: only works once to check and once to uncheck - page needs refresh if done again and I DONT KNOW WHHHHHY

    var showOnce = true; 
    var className = '.rowCounter' + idOfButton  
    $(className).each(function () {

        $(this).attr('checked', !$(this).attr('checked'));
    });

}

这个按钮的工作,因为它检查所有相关的复选框,当他们被选中,按钮被再次按下取消选中他们所有.但如果按钮被按下第三次(基本上只是为了重新检查),什么都没有发生了,它驱动我疯了.
有人能看出我的错误吗?
谢谢大家!

42fyovps

42fyovps1#

我通过重写jQuery代码设法解决了这个问题

function selectAll(idOfButton) {
    var className = '.rowCounter' + idOfButton

    if ($(className).is(':checked')) {
        $(className).prop('checked', false);
    }
    else {
        $(className).prop('checked', true);
    }
}

我真的不能告诉你为什么,但我想我没有使用最先进的术语。
无论如何,它的固定.随意复制和粘贴我的代码.

相关问题