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

时间:2016-10-11 11:38:33

标签: javascript

我有隐藏变量的默认值" on" ,如果隐藏字段值为" on"我想根据此隐藏值将另一个按钮的文本从禁用更改为启用。按钮文本是"禁用"反之亦然。我已经尝试但我的解决方案不起作用

隐藏字段

 <input  name="hiddenV"  type="hidden"  id="hiddenValue<%=ud.getUserId()%>" value="on" />

按钮

 <input   type="button"  id="delUserButton<%=ud.getUserId()%>" onclick="openDelDiv(<%=ud.getUserId()%>, '<%=ud.getUserName()%>'); change(this.id);" value="Disable"/>

js功能

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";
            }

OpendelDev():它是一个弹出式对话框(你确定要禁用这个用户),使用ok按钮导致页面重新加载

 function openDelDiv(userId, userName) {

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

            }

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

1 个答案:

答案 0 :(得分:0)

我认为你实际上是假装<input type="radio"/>

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

<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>

在CSS中:

.input-field[value="enabled"]:checked ~ ul.buttons label.enabling,
.input-field[value="disabled"]:checked ~ ul.buttons label.disabling {
    display: none;
}

(实际上没有运行和测试,但精神就在那里)