Javascript:根据隐藏变量值更改按钮文本

Javascript:根据隐藏变量值更改按钮文本,javascript,Javascript,我有一个默认值为“开”的隐藏变量,我想根据这个隐藏值将另一个按钮的文本从禁用更改为启用,如果隐藏字段值为“开”,则按钮文本为“禁用”,反之亦然。我试过了,但我的解决方案不起作用 隐藏字段 <input name="hiddenV" type="hidden" id="hiddenValue<%=ud.getUserId()%>" value="on" /> OpendelDev():这是一个弹出对话框,类似于(您确定要禁用此用户)和“确定”按钮,可导致页面重新加

我有一个默认值为“开”的隐藏变量,我想根据这个隐藏值将另一个按钮的文本从禁用更改为启用,如果隐藏字段值为“开”,则按钮文本为“禁用”,反之亦然。我试过了,但我的解决方案不起作用

隐藏字段

 <input  name="hiddenV"  type="hidden"  id="hiddenValue<%=ud.getUserId()%>" value="on" />
OpendelDev():这是一个弹出对话框,类似于(您确定要禁用此用户)和“确定”按钮,可导致页面重新加载

 function openDelDiv(userId, userName) {

                $("#userId_delete").val(userId);
                $("#userName_delete").text(userName);
                $("#delUserDiv").bPopup();

            }

但是请记住,按钮被放置在jsp页面内的for循环中,因此每个按钮的id都会不同

我认为您实际上在这里伪造了一个

然后,目标是为每个可能的值提供一个输入,以及一个按钮列表来切换它们。然后,您所要做的就是显示所需的按钮(即:如果选中状态“禁用”,则显示“启用”按钮,反之亦然)


(没有实际运行和测试,但spirit还在那里)

您的代码看起来不错,有什么问题吗?在我单击按钮并重新加载页面后,按钮文本没有更改:((您确定隐藏字段值已更改吗?可能会保持为“开”(因此没有按钮文本更改)。请注意,这里的复选框或单选按钮都是假的。@Xeno有解决此问题的建议吗?您的代码很好!
function change(btn) {

                var hiddenValue = document.getElementsByName("hiddenV")[0];
                var disButton = document.getElementById(btn);
                if (hiddenValue.value === "on")
                    disButton.value = "Disable";
                else
                    disButton.value = "Enable";
            }
 function openDelDiv(userId, userName) {

                $("#userId_delete").val(userId);
                $("#userName_delete").text(userName);
                $("#delUserDiv").bPopup();

            }
<input type="radio" class="input-field" name="status" value="enabled" checked="checked" id="a"/>
<input type="radio" class="input-field" name="status" value="disabled" id="b"/>
<ul class="buttons">
    <li>
        <label class="enabling" for="a">
            <button>Enable</span>
        </label>
    </li>
    <li>
        <label class="disabling" for="b">
            <span>Disable</span>
        </label>
    </li>
</ul>
.input-field[value="enabled"]:checked ~ ul.buttons label.enabling,
.input-field[value="disabled"]:checked ~ ul.buttons label.disabling {
    display: none;
}