我想在我的頁面中顯示 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);
}
}
現在我不太明白如何myTest在JSP檔案中使用函式。我試過如下使用它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>
uj5u.com熱心網友回復:
您似乎在頁面中使用了 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>
uj5u.com熱心網友回復:
有onchange對屬性<s:checkbox>標記它用于
在呈現的 html 元素上設定 html onchange 屬性
此標簽生成一個簡單的輸入欄位checkbox型別。
呈現型別為 的 HTML 輸入元素
checkbox,由 中的指定屬性填充ValueStack。
操作 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>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331241.html
標籤:javascript 查询 jsp 复选框 支柱2
