![](/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.