繁体   English   中英

如何根据多个框中的选择启用/禁用复选框

[英]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。

http://jsbin.com/ipomu/2

您可以通过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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM