如何使用 Struts 2 启用/禁用复选框
Posted
技术标签:
【中文标题】如何使用 Struts 2 启用/禁用复选框【英文标题】:How to checkbox enable/disable with Struts 2 【发布时间】:2021-11-17 07:05:34 【问题描述】:我想在我的页面中显示 2 个复选框(称为 box1
和 box2
)。默认值为box1 = false
和box2 = false
。但我也必须启用box2
,只有box1 = true
。所以我创建了以下 JS 函数:
function myTest()
var check = document.getElementById('box1');
if (check.checked == false)
$('#box2').prop('disabled', true);
else
$('#box2').prop('disabled', false);
现在我不太明白如何在 JSP 文件中使用myTest
函数。我尝试将它与onload="myTest()"
一起使用,如下所示,但它不起作用(box2
始终被禁用)。
<body onload="myTest()" />
<div class="form-group row">
<label class="col-sm-3 col-form-label required">
<s:text name="box1" />
</label>
<div class="col-sm-9">
<s:checkbox id="box1" name="box1"> </s:checkbox>
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label required">
<s:text name="box2" />
</label>
<div class="col-sm-9">
<s:checkbox id="box2" name="box2"></s:checkbox>
</div>
</div>
【问题讨论】:
【参考方案1】:您似乎在页面中使用了 jQuery。这是我的解决方案。
<script type="text/javascript">
$( document ).ready(function()
// on page load unchecking and disabling box2
$("#box2").prop("checked", false);
$("#box2").prop("disabled", true);
);
$("#box1").on("change", function()
if ($(this).prop("checked"))
// box1 is checked
$("#box2").prop("disabled", false);
else
// box1 is not checked
$("#box2").prop("checked", false);
$("#box2").prop("disabled", true);
);
</script>
【讨论】:
如果不从ValueStack
获取属性值,您将无法任意设置它们。【参考方案2】:
<s:checkbox>
tag 的 onchange
属性用于
在渲染的 html 元素上设置 html onchange 属性
此标签生成checkbox
类型的简单输入字段。
呈现
checkbox
类型的HTML 输入元素,由ValueStack
中的指定属性填充。
action bean 位于ValueStack
之上,因此您可以在那里获取指定的属性。
要在 JSP 中定义 JS 函数,您应该使用 html <script>
标签。您可以在<head>
标记中或在渲染元素之后执行此操作。
<s:checkbox id="box1" name="box1" onchange="myTest()"/>
<s:checkbox id="box2" name="box2" %box1?'':'disabled="disabled"'/>
<script>
function myTest()
if ($(this).prop("checked") === "checked")
$("#box2").removeAttr("disabled");
else
$("#box2").attr("disabled","disabled");
</script>
【讨论】:
以上是关于如何使用 Struts 2 启用/禁用复选框的主要内容,如果未能解决你的问题,请参考以下文章
asp.net c#.net jquery / javascript 如何使用复选框启用或禁用 requiredfieldvalidator