![](/img/trans.png)
[英]How to enable/disable a button based on selection of checkbox in angular 8
[英]how to make a checkbox enable/disable based on selection in multiple box
我有一個多選組合框和一個表單中的復選框。
我希望僅當用戶從多選組合框中選擇特定值時才啟用該復選框。
這是可能的...通過javascript或jQuery。 我已經在其他地方使用jquery了。
示例: http : //jsbin.com/ipomu
以復選框開頭將被禁用。 它應該僅在用戶單擊選項2時啟用
一個樣本。 您只需添加要為其啟用數組對象的復選框的選項值。 在下面的示例中,我啟用了單擊2,3,5和7選項的復選框。
<script type="text/javascript">
$(function(){
var arrVal = [ "2","3", "5", "7" ];
$("#combobox").change(function(){
var valToCheck = String($(this).val());
if ( jQuery.inArray(valToCheck,arrVal) == -1 )
{
$("#check").attr("disabled", "true");
}
else
{
$("#check").removeAttr ( "disabled" );
}
});
});
</script>
<select id="combobox" size="9" id="reasons" multiple="multiple">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
<option value="5">Option 5</option>
<option value="6">Option 6</option>
<option value="7">Option 7</option>
</select>
為您的示例工作演示 。
我更新了您提供的jsbin鏈接以及實現所需效果所需的正確jQuery。
您可以通過javascript啟用/禁用html元素:
document.getElementById('<the id of your checkbox here>').disabled = true;
因此,您必須添加多選組合框的OnChange事件,並在某些功能中添加邏輯何時禁用/啟用您的復選框。 例:
<select onChange="myfunc(this)">
...
<script>
function myfunc(sel)
{
if (sel.selectedValue == "2")
document.getElementById('<the id of your checkbox here>').disabled = true;
}
</script>
最簡單的是,使用直接的Javascript,沒有jQuery,您可以將以下onchange
屬性添加到select
元素(假設元素都被相同的表單包圍):
onchange="this.form['mycheck'].disabled = (this.value != 2)"
如果它們不是相同的形式,或者如果您不知道目標元素的名稱,或者動態創建元素,則.disabled = (this.value != 2)
將是相同的,但方法找到正確的復選框可能會有所不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.